← Back to team overview

kicad-developers team mailing list archive

Benchmarking kicad compilation on CPUs released 6 years apart

 

Hi all,

This information may be useful to people that are considering an upgrade
for their workstations or for general information, feel free to skip this
email if you are not interested.

I've been using my 6 year old Haswell i7 machine that served me well over
the years but kicad compilation times both under msys and in linux vm were
frustratingly long. That reason along with a few others pushed me to
upgrade.
If you've been following the hardware news lately AMD's Ryzen is all the
rage lately and for a very good reason. I've been rooting for them since
Athlon days but had to begrudgingly buy Intel a few times after that
because AMD products just weren't competitive.
This definitely has changed with Ryzen series.

To not make this too long and so that you don't think of me as AMD shill
let the numbers speak for themselves and you decide whether it's worth it
to upgrade for you.

My previous config: i7 4770 Haswell 4 core CPU, 16gb of DDR3 ram in dual
channel, sata ssd.
My new config: R9 3900x Matisse 12 core CPU, 32gb of DDR4 ram in dual
channel, nvme ssd.

I set my master branch to same commit in both cases (846397c69) and did
"make clean". Then I compiled all targets to measure time of clean build.
Then switched to master~15 and compiled, then switched to master~5 and
compiled, and lastly back to master and compiled again. Thus I measured
more typical scenario of incremental compilation as well.
In case of my old system I did "make -j8" as that is the number of threads
that CPU has, in case of new one I did "make -j24" for same reason,
maximizing used threads. Also something of note is that for both configs
linux vm was run from a virtual disk located on a network storage device
with 1Gbps link, not on local ssd. And I didn't master~15 build for linux,
just master~5 and master again.

clean master~15 master~5 master
i7 4770 msys 36m28.515s 26m51.178s 27m45.738s 14m21.653s
R9 3900x msys 6m40.112s 4m56.747s 4m55.271s 3m15.945s
i7 4770 linux 44m49.681s - 15m53.635s 15m53.098s
R9 3900x linux 6m35.732s - 3m26.773s 3m18.514s

I kinda expected 2x maybe 3x decrease because not all computations scale
linearly with number of threads. I was pleasantly surprised by almost 6x
decrease in clean build time and 5x in incremental builds.

Here are the numbers in google sheet in case table above is not readable
https://docs.google.com/spreadsheets/d/1UI1aW-FTTI-TncTWhAdG_Ag__5nc2FF1626WaPiL3LE/edit?usp=sharing

Regards,
Andrew

Follow ups