kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #28202
Attn Wayne: Optimizing SCH_PLUGIN for component selection
Hi all and Wayne,
Since the addition of SCH_PLUGIN, enumerating all symbols (done by the
component selector) has become dog slow on Windows and macOS. I've
tracked this down to the excursion from an alias list to a list of
strings and back to an alias list, because the only functions SCH_PLUGIN
provides to access the aliases are by name.
This is why the component selector now takes literally five seconds to
appear on Windows.
I have a patch in progress that adds parallels to these API functions
that directly populate a list of LIB_ALIASes rather than their names.
I'm in the process of testing it on all three platforms. It is a fairly
minor addition, but I don't want to touch SCH_PLUGIN without permission
since Wayne is working on it.
Wayne, are you okay with a patch that adds SCH_LEGACY_PLUGIN::
EnumerateSymbolLib( std::vector<LIB_ALIAS*>&, ... )? This is the only
place it touches the plugin API, plus a couple places in PART_LIB and
several in the component chooser.
--
Chris
Follow ups