← Back to team overview

kicad-developers team mailing list archive

Re: Benchmarking kicad compilation on CPUsreleased 6 years apart



Do you use Visual Studio to compile Kicad? If so, how? I’m not very good with things like cmake and I’ve tried and tried to get KiCad (or even just PCBNew) to compile with Visual Studio and end up with various problems I can’t solve like missing packages, etc..

Besides the debugger, one thing with Visual Studio is that you only need Visual Studio, not MSYS2, Mingw, etc., etc..

From: Tomasz Wlostowski
Sent: October 29, 2019 2:01 PM
To: Simon Richter; kicad-developers@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Kicad-developers] Benchmarking kicad compilation on CPUsreleased 6 years apart

On 29/10/2019 15:40, Simon Richter wrote:
> We could probably shave off another two or three minutes of build time if
> we could make sure that we always make progress on the critical path. The
> dependency generation as a side effect pulls all the sources and headers
> into cache, which reduces the effects of I/O latency a bit during
> compilation, so parallelizing with more than the number of threads you
> actually have is probably counterproductive.


Another idea: use precompiled headers. I experimented some years ago
with cotire for CMake on KiCad sources and it gave quite promising
results. Since I didn't maintain this code it's probably useless by now
given how new stuff has been added to KiCad tree but the savings in
build time by header precompilation will be still IMHO quite significant.

As for MSYS's GCC speed - personally I use Visual Studio under Windows,
not only because of faster build time but also because of a debugger
that actually works...

As a side comment:

$ make -j12 (latest KiCad master, i7-9750H, 32 GB DDR4 @ 2666 MHz,
Ubuntu 19.04)

real	7m59.758s
user	86m44.231s
sys	5m9.724s

Citing the classic: "not great, not terrible" ;-)


Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Follow ups