Comparing the compiling times of a large application between a 4-core Core i5-4670 and a 32-core dual socket Xeon E5-2670
I recently discovered that makepkg
in Arch Linux, by default, builds packages with a single thread, but that it’s multi-thread capable. Defaulting to single-core building seems silly, but it’s a sane default I have to admit. I’ve certainly wasted a lot of my time over the years because of this.
In the past few months I’ve been considering building a new Ryzen machine. One area I’m interested in is the performance increase I’ll see during heavily-threaded tasks like this. How noticeable will it be to have so many more cores at my disposal?
After learning how to increase the makepkg
thread allocations to use all cores in my system, I decided to do some compile time speed tests. Not only did I throw all four cores of my trusty i5-4670 desktop to the task, I went crazy and spun up a 32-core VM on my dual Xeon Proxmox server. I wanted to simulate what more cores would do to a build time to get an idea about what Ryzen might offer me.
ungoogled-chromium is a favorite of mine, but it takes hours to build. Well, it used to, building under a single core. Now that I can throw more cores at it, building times are much more sane. (And, then I found out there’s a prebuilt binary living in the AUR, which saves me even more time.)
The package is intense: 5.3 GB in 443,864 source files need to be compiled. 22,000 build operations need to happen to build this beast. A perfect stress test!
The results are in
Here are the results from my new multi-core code compiling experiment.
Despite the higher single-threaded speed of the i5-4670, the massive multithreading available from the dual socket E5-2670 allows the package to compile in half the time. The 32-core dual Xeon was able to build ungoogled-chromium in just 47 minutes, versus 129 minutes for the i5-4670.
CPU details
i5-4670 | E5-2670 | Ryzen 5 3600 | |
---|---|---|---|
CPUs | 1 | 2 | 1 |
Cores | 4 | 32 | 12 |
GHz | 3.80 | 3.30 | 4.20 |
GB* Single | 2,151 | 1,597 | 2,814 |
GB* Multi | 7,368 | 24,660 | 19,933 |
Compile time | 129 min | 47 min | ? |
*GB = Geekbench score
Both machines built ungoogled-chromium 77.0.3865.120 on a tmpfs ramdisk with default options.
Thinking about Ryzen
The Ryzen 5 3600 I’m considering seems like it would offer me quite a lot when it comes to multithreaded processing tasks like this. With a combined Geekbench score of 19,933, that’s a 170% increase over my current desktop’s score of 7,368. The dual-socket E5-2670 has a combined Geekbench score of 24,660, but a combined TDP of 230W. It looks like the Ryzen 5 3600 can offer almost the same processing power in a single core at only 65W.