I built a dev computer out of some old Xeon E5-2670 V2s (10cores/20threads @2.5ghz) each. I thought it would be way faster than a single core i7 4 core at 4.5ghz. To my surprise, only a few special types of things are the 20 core machine faster than the 4 core machine.
I mean, there are few special types of applications that bothered to implement any kind of multithreaded architecture until very recently; and even today its often not the default (-j for gnu).
This is precisely the reason that moore’s free lunch ending matters so much; everything needs to be rearchitected such that the server is faster than single core across normal usage
My tangentially related experience: when I switched (after 4 years) from a Core i5-3570K (4C/8T, 3.4 GHz nominal) to a Ryzen 7 1700X (8C/16T, 3.4 GHz nominal) last year, multi-threaded build time of a smallish C++ project I work on went down from 1 minute to 30 seconds.
I'd really like a comparable speed-up on my next HW upgrade; hoping for affordable 16-core CPUs 3-4 years from now.
The 3570k is not hyper threaded from what I understand. If it was, I would have been thrilled because I am still using that professor myself, waiting for the new threadripper.
I also updated the 1700X to 2700 this year, the "marginality problem" ([0]) affecting some of the early Ryzens (random segfaults after some minutes of heavily parallel workloads with lots of process creation - e.g. builds!) was getting more annoying when Rust needed to download and compile a bunch of crates. I'm very satisfied - more or less the same performance (3.2 vs 3.4 GHz), but 65 W instead of 95 W TDP.
Yes, in fact, that is one of the few times I get to hear the glorious sound of all 20 cores come to life and it does some serious number crunching. But very often I find that one thread will be working 100% for a bit while the rest just idle. (it's especially obvious with heavy javascript parsing or large text file editing for example).
Comments
Hmm, isn't the new Mac pro up to 28 cores? :-D
I built a dev computer out of some old Xeon E5-2670 V2s (10cores/20threads @2.5ghz) each. I thought it would be way faster than a single core i7 4 core at 4.5ghz. To my surprise, only a few special types of things are the 20 core machine faster than the 4 core machine.
I mean, there are few special types of applications that bothered to implement any kind of multithreaded architecture until very recently; and even today its often not the default (-j for gnu).
This is precisely the reason that moore’s free lunch ending matters so much; everything needs to be rearchitected such that the server is faster than single core across normal usage
But we’re not at all close to such a world
A very funny illustration of you point: https://m.9gag.com/gag/a6OvN3q
Did you find that `make -j20` (or -j40 if you have a total of 40 threads) was five times faster (ish) than the quad-core machine?
My tangentially related experience: when I switched (after 4 years) from a Core i5-3570K (4C/8T, 3.4 GHz nominal) to a Ryzen 7 1700X (8C/16T, 3.4 GHz nominal) last year, multi-threaded build time of a smallish C++ project I work on went down from 1 minute to 30 seconds.
I'd really like a comparable speed-up on my next HW upgrade; hoping for affordable 16-core CPUs 3-4 years from now.
Releasing in September: https://www.amd.com/en/products/cpu/amd-ryzen-9-3950x
:)
The 3570k is not hyper threaded from what I understand. If it was, I would have been thrilled because I am still using that professor myself, waiting for the new threadripper.
Of course, my mistake.
I also updated the 1700X to 2700 this year, the "marginality problem" ([0]) affecting some of the early Ryzens (random segfaults after some minutes of heavily parallel workloads with lots of process creation - e.g. builds!) was getting more annoying when Rust needed to download and compile a bunch of crates. I'm very satisfied - more or less the same performance (3.2 vs 3.4 GHz), but 65 W instead of 95 W TDP.
[0] https://www.phoronix.com/scan.php?page=news_item&px=Ryzen-Se...
Yes, in fact, that is one of the few times I get to hear the glorious sound of all 20 cores come to life and it does some serious number crunching. But very often I find that one thread will be working 100% for a bit while the rest just idle. (it's especially obvious with heavy javascript parsing or large text file editing for example).