Cache or cores? Biscuit or cake?
It's about three years since I built my Ryzen system. It's a Ryzen 5 3600 (Zen 2, Socket AM4) with 32GB RAM.
Since dual core became a thing I have been meaning to take over the world with cunning multi-threaded code but about as far as I've got is some shell scripts that do things in parallel.
I figured I should upgrade the machine while AM4 CPUs are still available. I noted that AMD had some CPUs out with this newfangled 3D cache, and that they were pretty fast on certain workloads.
So my decision was biscuit or cake? Cache or cores?
It's taken me a few weeks, and much deliberation but today I decided to go for the cake. I think it will be more fun to have more cores to play with. I have ordered a Ryzen 9 5000X (12 core/24 thread Zen 3) and a cooler with two great big fans and fancy quiet bearings to go with it.
I'll need to revisit my old tests from three years ago and see what sort of a difference all those extra cores make. Obviously, there will be more contention for memory bandwidth. If I get around to it, I might post the results together with the results for the old CPU.
Meantime, I have been writing a little bit of C, finally getting around to something I've been meaning to do for 15 years. One day I'll write something about procrastination. I have an anecdote.
(Score: 2) by DannyB on Tuesday May 23, @09:20PM
If you have plenty of cores, it's possible to write multi thread code in Java to take advantage of those cores. There are multiple ways. I happen to like the ForkJoin framework.
The end result is portable to microcontrollers running Linux (Raspberry Pi, original model with 512 MB), or to giant mainframes, or PC compatible multi-core monsters.
While you can possibly do this in C, it probably isn't portable. It takes longer to develop. There are lots of sharp edges. The economic advantage is to save development and maintenance time, not cpu cycles and bytes at runtime. Unless your application is highly specialized and performance critical. Unless you are in the supercomputer top 500, for most business uses, you can just throw more hardware at it, because of lower development cost, and just call it a day.
Just an opinion.
However, you do need to keep an eye on Java programmers. They think in weird ways and you don't know what they mite do.
How often should I have my memory checked? I used to know but...