kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #37012
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.
Cheers,
Jeff.