Photozoom Pro 3 — poster child for CPU core utilization
With version 2, Photozoom Pro ran more or less single threaded (see CPU Cores Explained). With the recently released version 3, Photozoom Pro 3 is the poster child for the ideal scenario: all available CPU cores being used to their maximum. It is a great example of where a dual-CPU machine kicks butt over a single-CPU machine.
The green area represents CPU usage, and black is idle (the black area at left is prior to the start of the scaling operation). See Monitoring System Performance for more on understanding performance. Here we see 1536% CPU usage out of a maximum of 1600% (for 16 virtual CPU cores). It doesn’t get much better than that.
But using CPU cores is more than just using them. They need to scale: twice as many cores should ideally be twice as fast. What’s amazing about Photozoom Pro 3 is that it scales perfectly, an amazing feat compared to what is more typical or even unexpected. We could realistically expect a dual CPU Mac Pro to be about 75% faster than a single CPU system for a well-written program (most programs have some kind of internal bottleneck like memory contention).
I tested scalability by sizing up a Nikon D3x image to 200% of original size, generating a 558.4MB 16-bit TIF. I ran the test with all 16 virtual cores enabled (both CPUs) and with one of the CPUs disabled (using Apple’s CHUD tools), leaving 8 virtual cores active. Here are the times for S-Spline Max:
Dual CPU: 6:17
Single CPU: 12:35
Scalability doesn’t get any more ideal than that. I could’t even credibly make it up.
I tested version 2 against version 3 and saw these results using S-Spline XL (much faster but slightly lower quality than S-Spline Max):
PZP version 2: 80 sec
PZP version 3: 21 sec
For whatever reason, S-Spline XL uses only about half the CPU cores. Still, there is a 4X speedup from version 2 to version 3. What a great upgrade!