I would have thought that any discussion of performance would have to take the speed of the diskio into account
executing: (if you get command not found then install the sysstat package) $iostat -h -x -d 2 whilst compiling would show the diskio utilization factor (last column), if it is pegged at 100% then your compilation process is io bound and not cpu bound, if it is less than 100% then you are cpu bound. SSDs and disk oops would probably have an impact on compilation speed, especially when searching deep include trees. On Tue, Oct 29, 2019 at 1:51 PM Henner Zeller <h.zel...@acm.org> wrote: > > > On Mon, 28 Oct 2019 at 22:21, Andrew Lutsenko <anlutse...@gmail.com> > wrote: > >> 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. >> > > For compilation uses, I recently upgraded to a 16 core 1950x and am also > pretty impressed. > I find that using a bit more parallelism than can even give a little more > as not all compile threads might be using the CPU 100% but might be waiting > on IO. On my 1950X, I use -j50 (on 32 hyper-threaded cores). Something like > this might in particular work for your network storage connection. > > Also highly recommended (when in development with intermediate 'make > clean') install ccache > > 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 >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp