Tetrium wrote:Multiple programs do spread across several cores, right?
Not necessarily.
That's my point.
Idle threads do not get scheduled at all.
If you run 100 programs at a time, but they're all just waiting for keyboard/mouse input, then none of them ever actually get put on a core.
It always surprises me that people seem to have forgotten that about a decade ago, we still had single-core CPUs, and back then we could also run many applications at a time, with little problems.
Heck, if you just started your OS, you'd already have tons of background services and threads, and you barely noticed. The main bottleneck was memory, not CPU.
So the answer is not "I run more programs, so I need more cores".
It's about what these programs do. Browser tabs generally don't actually 'do' much. They just consume memory and wait for user input (with the exception of things like audio/video streams, which continue running when you switch away from the tab, but you generally don't want more than one of them running at the same time).
I currently have 6 tabs open in my browser, and when I look at Task Manager, I see my browser at 0-1%. System is 95+% idle (I also have various other apps open, Outlook, Slack, Skype, developer IDE, and there's several development DBs running on this machine).
So the question is: how many non-idle threads do I need to run at a time? And how non-idle are they? Because even a video stream in a browser only needs a few % of a single core these days, generally less than 25%. So it's not like you immediately need a second core for a second video stream. The first one could multiplex multiple streams before it hits 100%.
I think you'll find remarkably few scenarios where an 8-core CPU really gives you a significant advantage in practice.