Adobe Photoshop CC and CPU Cores: Does not Scale For Common Operations
Choose the best number of CPU cores for your actual work: 2013 Mac Pro: How Many CPU Cores for Your Workflow?
Don’t decide on CPU cores based on Photoshop CC alone unless that is your (only) usage. Some programs offer better scalability.
Scalability
It appeared that Adobe Photoshop CC was using my 12-core Mac Pro really well based on CPU usage, which was exciting. I thought that perhaps Adobe had made some progress and/or that OS X Mavericks had improved matters. But I was fooled by CPU usage, which is indicative but not definitive of getting useful work done.
I spent some careful hours measuring the actual performance, and it turns out that the CPU usage is mostly overhead busy-work (thread contention), not useful computation.
What matters is not CPU utilization, but useful work finished: do more cores get the work done faster?
For example, if a task takes 30 seconds with 6 CPU cores, we would like it to finish in ~15 seconds with 12 cores (perfect scalability), or at least something like ~18 seconds which would still be a large improvement. But Photoshop CC falls short of even that reduced goal, as the asymptotic curves make plain.
What is the cause? It could be memory bandwidth, in which case the 2013 Mac Pro will offer better relative performance in 8/10/12 core range versus 6 cores. How much better is unclear until testing can be done. Or it could be synchronization overhead, which is a function of both the problem space and the code design quality (efficiency)—unfixable except by redesign by Adobe if that is the case.
UPDATE: added is a graph with normalized times and theoretical best results.
UPDATE 2: perfect scalability exists with some programs.
2014 Update: Adobe Photoshop CC Scalability