Mac Pro Westmere Performance with PTGui Pro
Update Jan 5, 2010: A new version of PTGUi is now 64-bit and times will not reflect what is presented here, so take the test figures below as just a reference point for relative machine performance, but one that might now vary more among the machines, though not in absolute merit.
Using version 9.0.1
Jan 5, 2010 — on my 12-core 3.33GHz Mac Pro PTGui version 9.0.1 took 28 seconds, using up to 8 CPU cores and 7GB of memory. The time is a significant improvement over version 8.3.10 (31.4 seconds), but nothing too exciting.
Greater improvements might accrue for systems less well configured than my 12-core (e.g., a triple-SSD stripe for temporary files and the output file, and 48GB memory).
Results below are for PTGui version 8.3.10
This test creates the same panorama as the test for Photoshop panorama.
PTGui is about 3X faster than Photoshop CS5 for this same panorama (but only with a fast scratch drive, see Optimizing PTGui Pro). When and if PTGui becomes a 64-bit application (so it can keep everything in memory), then it will really leave Photoshop CS5 in the dust.
Important things to know about PTGui Pro for Mac, which I observed while testing:
- Since PTGui Pro for Mac is a 32-bit application, it cannot use more than about 2.5GB of memory. For the particular test shown here, I never observed more than 1750MB allocation.
- PTGui is extremely disk-intensive (because 32-bit is memory limited). See Optimizing PTGui Pro.
- PTGui does not scale much beyond 3 processor cores. There is a slight improvement with 4 cores, but 6 or 8 cores showed no gain in my testing.
- Run-time was somewhat variable, with the first run usually the slowest. I used the fastest times I could obtain for each machine.
Since my test machines were configured as Heavy Duty MPG Pro Workstations (doesn’t get any faster), you won’t be seeing any faster results than these on a Mac Pro. See Optimizing PTGui Pro. See the settings that were used for testing further below.
Test times were INCONSISTENT ACROSS MULTIPLE MACHINES; PTGui is not consistent in its performance. These are the fastest times I could obtain from each setup. The number of useful CPU cores depends greatly on how fast the drive is for temporary files.
I observed disk I/O up to 400MB/sec (over 500MB/sec on a 3-drive stripe later). So a fast RAID is your key to top performance. Better yet, use a RAM disk.
CPU core usage with PTGui Pro 8.3.10
Scalability and CPU usage is not particularly good. Though that could be due in part to disk I/O requirements, my suspicion is that it just is not all that scalable beyond 4 cores. I saw little improvement beyond 3 cores.
Rendering time will be slower and scalability even less good with a slower drive— I was using a dual-SSD RAID-0 stripe. I observed disk I/O utilization of up to 420MB/sec while PTGui was processing. I recommend a RAID-0 stripe capable of at least 500MB/sec for users doing big panoramas with PTGui.
The CPU usage shown here is a best case using the dual-SSD setup.
For a test that allows the potential of a multi-core system to show itself, the number of CPU cores (threads) should be set to the number of actual hardware cores (not virtual cores eg hyperthreading).
In my testing, I saw little improvement beyond 3 CPU cores, which was in turn was only modestly better than two cores.
The Auto settings for cores, memory, etc are not optimal. Set them manually. Specifically, set the number of cores to the number of real hardware cores (or fewer), not virtual cores— virtual cores (hyperthreading) did not help in the slightest in my testing.