← Back to team overview

kicad-developers team mailing list archive

Performance enhancements


I’ve got some performance enhancements that I’ll probably merge tomorrow, but I just wanted to give everyone a head’s up.

1) Cache footprint info on disk in the project.  The footprint info is time-stamp-hashed and compared to the library file hashes before each use.  The second part of that required (2) and (3).

2) POSIX-only improvements to wxDir to stop calling stat() at the drop of a hat, and to stop calling wxFileName::wxFileName to limit traversal to files or directories (our *.kicad_mod pattern should be sufficient to select only footprint files).

3) Performance improvements to wxFileName and its usage to stop calling SplitPath() at the drop of a hat.  (When scanning a directory it was calling it over and over again on the same path.)

4) Change in the initialization of Footprint Editor and Footprint Viewer to not spool up a full PcbNew Frame to fetch the canvas setting.  This is only an improvement when PcbNew isn’t already running, but it’s significant then.

5) Changes to layer widget to not do a layout after each row addition.

6) Replace linear searching of the Footprint Info List with binary searches.