Being in the market for an enthusiast CPU is predicated on being enthusiastic about CPUs in the first place, and that's become somewhat difficult in the last couple of years.
Indeed. My old self-imposed rule was that upgrading was a waste of money unless I could get at least twice the performance. Manufacturers have generated high benchmarks by throwing "moar cores" at it but even the best chips have barely a 40% single-thread increase over my seven year old Haswell build.
40% single thread increase, but most likely 100+% increase in core count. CPU manufacturers did not slap more cores on a CPU to get high benchmark scores, it's just one of the few viable options for increasing CPU performance.
If you’re a dev (as I’m sure many here are), many big builds will max all cores for extended times. I had to up the cooling in my machine as building Chromium would regularly peg all 8 core for hours, causing thermal throttling to kick in and lower clock speeds.
Sometimes I manage to extract a little more performance by shutting down virtual cores to get lower thermal stress and better cache hit ratios. It's a very YMMV thing that depends on pretty much everything from the CPU microarchitecture and built-in power management all the way to the size of the fan, whether you polished the heat spreader on the CPU to the programs you are running and what the data they are processing looks like.
My workloads are more of an outlier when compared to the general PC user crowd, but I do keep an eye on my CPU usage and it is often between 25-100% CPU usage, depending on the situation.
Workloads, where more cores really help out, are:
* re-encoding video files to save disk space (it's amazing what speeds I can reach with my Ryzen 5 2600X here!)
* IntelliJ (startup, indexing)
* running tests (can be configured to be very parallel)
* running JS heavy sites, like Jira (you would be surprised at how resource intensive websites can be nowadays)
* running more than one Electron based app (Spotify, Slack are surprisingly CPU intensive, especially if you have poor/no GPU acceleration support)
single desktop app probably doesn't but you don't run just a single one. Chrome, IDE, database server, db client, web server, VMs, slack/teams/gitter, email client. Try provisioning a VM with single core and running them all at once inside...
EDIT: that said I wonder if you notice a difference between 4 and 8 cores in normal life
Moore's law I think is widely misunderstood as computer chips doubling in speed every two years (or something to that effect). In fact, what it says is that the number of transistors doubles every two years, which is still roughly true. In 2020, its hard to buy single-threaded CPU speed by just throwing more transistors on a chip, which is why most performance gains have been found in multithreaded workloads (because you can trivially get more CPU cores by putting more transistors on a chip).
I would love if I could find where my OS could collect informations on how long my CPUs stall for lack of proper execution ports, lacking parallelism in the code, L1-3 cache misses and so on.