See yesterday’s 4-Core CPUs do not Leave Much Grunt for Other Tasks.
This post shows how high CPU loads max-out an iMac 5K and why 6/8/10 cores can be valuable even for non-video work. That is why I am generally reluctant to use a 4-core machine: my work often involves getting work done while other stuff happens, like clone backups and my local web server starting up and a Photoshop script running. There just isn’t much CPU power to go around. The cost is human time (my time)—getting things done, and since I usually work 12 hour a day 7 days a week (I’ve slowed down from 14-16 hour days 5 or 6 years ago), I care a lot about the Mac wasting my time.
The mitigating factor for the 2017 iMac 5K is that is a far faster CPU than what one can buy in the aging 2013 Mac Pro. Whether the new iMac Pro will suffer the slow-CPU fate of utilizing downclocked Intel Xeon chips is as yet unclear since Apple has not even said which CPUs are to be used.
The 2017 iMac 5K has four (4) real CPU cores and 4 virtual cores (hyperthreading), which is why there are 8 CPU history graphs (red/green stuff at left).
In my experience, virtually all tasks not only do not benefit from virtual cores, but can be slower, due to additional threading overhead. At any rate, 400% CPU usage total (add up all the usage) is full utilization.
The other point here is memory usage: CPU cores can run efficiently only when disk I/O is minimized. This is why I always go right to 64GB OWC memory for my work, and why Apple’s MacBook Pro line sucks—it is still stuck at a pathetic 16GB maximum memory, even though the chipset supports 32GB or more.
Below, an overloaded iMac 5K where the 'java' process is using 3.57 CPU cores versus just a heavily loaded iMac 5K. If I added cloning into this mix, the iMac 5K would be overloaded by a factor of 2X or so—8 CPU cores would be a lot better.
Apple ought to fix the Activity Monitor mess with CPU history for real cores only (what good will 36 graphs be for an 18 core CPU?)—that is, show 4 CPU core histories, collapsing the (useless) virtual CPU cores into its real and virtual sum.