← Back to team overview

kicad-developers team mailing list archive

Re: KiCad Windows builder

 

>> I also am afraid the use of dynamic libraries add more time to launch Kicad.
>> It fixes only the size of binaries, that is now a very minor problem.

The OS must load all dependent DLLs needed by the eeschema process.  There can
be code in the DLLs that is not needed by the process, since everything has to
be in there, the entire library.

Whereas with static linking, only those portions of the library which are
actually needed are linked to the process image file, eescheme.exe.  You also
remove some time to do the dynamic linking (finding of pointers) from the
process image down into the DLL.

My guess is that a statically linked binary will normally be faster to load, but
perhaps in-perceptibly so. 

On linux, (which we are not talking about), the share object file may already be
loaded into RAM because of use by another processes, and this changes the
dynamics of the comparison.  Windows may also have a similar ability (but I no
longer know what Windows is).  This means that a second process which uses a
*shared* shared dynamic library may load faster that the first one already in RAM.


Dick




References