I had put together a short piece on Photoshop filter speed (not yet published), and the scalability across multiple CPU cores. Yesterday, I completed various benchmarks, using Mac OS X 10.5.6, the same day Apple released the 10.5.7 update.
Today, I updated to Mac OS X 10.5.7. All the test numbers changed! And not by small amounts, and not always for the better.
I had previously written When More is Less, showing that disabling half the CPUs could dramatically speed up certain Photoshop operations on a dual-CPU Mac Pro Nehalem. Well, that gap has narrowed considerably; the disabling trick still improves matters, but only by a small amount.
Clearly the Apple elves have been at work, because various Photoshop filter tests on my dual-CPU (16 virtual core) Mac Pro Nehalem now run a smidgen faster with all 16 virtual cores, or a lot slower with some cores disabled, as compared to 10.5.6. As they say on the internet, WTF?!!
I don’t have a single-CPU Mac Pro Nehalem, so I don’t know if those users are, as they say, screwed by 10.5.7. Probably not, disabling installed CPUs is not the same as not having them to start with, but it’s certainly possible.
I rebooted a couple of times, and double-checked my findings—same deal. I’m seeing up to twice as slow execution time with some Photoshop filters when some CPUs are disabled, as compared to Mac OS X 10.5.6.
Does this matter?
Probably not for normal users, who won’t ever disable CPU cores. But it shows that loose screws are rattling around inside Mac OS X, not exactly confidence inspiring. The numbers should not have changed unless Apple changed the way OS X schedules CPUs/threads.
We can hope that Snow Leopard (Mac OS X 10.6) will be a lot more intelligent about “scheduling” CPU cores and/or in the efficiency of related matters (synchronization efficiency, memory allocation, pinning threads to a core, etc).
Bottom line: Mac Pro Nehalem dual-CPU systems are probably better off with 10.5.7, but test your own system under 10.5.6 before upgrading to 10.5.7, just to be sure you’re not getting a downgrade. I should have cloned my system onto a backup drive using the Voyager Q first; at this point it’s way too much work to create a 10.5.6 system again.