I've been playing with Microsoft's new Virtual PC 7, which promised massive speed increases over previous versions. While I never got a chance to benchmark the previous version, I was actually quite surprised at how much faster Windows 2000 seemed - it is now fast enough for general-purpose use. (XP performance is still barely tolerable, even at low settings with all of its bloat disabled.) And the CPU results surprised the hell out of me.
The testing platform was my Powerbook, a standard 1.33 GHz G4 model with 1 GB of RAM.
I ran some subjective software usability tests first. The usual culprits (IE, Office XP, Transport Tycoon for DOS) all worked flawlessly with no noticeable sluggishness. I chose not to test Office 2003 for two reasons: I didn't have it, and if you're that much of an Office fan, you probably just have Office 2004 for OS X (which I'm really not a fan of - but that's a topic for another review).
I installed DeLorme's Street Atlas USA 9.0, a slightly old mapping/GPS program that's far better than every other mapping program I've tried, including the impressively-mediocre Microsoft Streets and Trips 2004. It ran extremely well - it performed just as well as my real PC. I wasn't expecting this at all, since it draws and redraws incredibly complex maps constantly as you pan and zoom.
Overall, general Windows performance seemed noticeably faster.
I decided to benchmark the virtual Windows 2000 installation with SiSoft Sandra 2004, a synthetic benchmarking suite that's good for testing raw number-crunching power.
Note: The comparison platforms are not identical across tests because some platforms' results weren't available in some tests. In these cases, I chose the nearest match available.
This was surprising. In generic arithmetic, the virtual CPU absolutely dominated, almost reaching the performance of a 2 GHz Athlon. I imagine that there's another factor here, such as a smart caching or precompilation system, that performs well for synthetic-benchmark code (which probably just repeats a small block of similar instructions).
This seemed more reasonable. The "Multimedia" test pushes a bunch of difficult math down the pipeline, using MMX or SSE where available. The virtual CPU performed at half the level of a 500 MHz Pentium III on floating-point operations, and evenly between the 500 MHz and 1 GHz CPUs on integer operations. I'm guessing that since Virtual PC is targeted mainly at office applications, they probably haven't done any particular optimizations for these extended instructions.
I'm not sure what this vaguely-named test actually does, but it didn't tell me much. The low "Speed Factor" makes sense - cached instructions shouldn't run noticeably faster than instructions in memory, since the virtual CPU's cache is probably implemented in the host platform's main memory anyway.
The virtual platform's memory bandwidth lands just behind the original nForce chipset with its dual-channel DDR. Not bad, considering the Powerbook itself is only using PC2700 DDR.
The Powerbook's G4 CPU, like Intel's Pentium M, dynamically adjusts its clock speed to conserve battery power. Amazingly, while Windows and Sandra reported different clock speeds every time I checked, the benchmark results never fluctuated by more than 3-5%, regardless of how often I tested it and whether it was using AC or battery power. The G4's speed adjustment must be extremely effective, giving any percentage of power on demand.
With these impressive CPU numbers, I figured I'd give gaming a try. Virtual PC emulates an S3 Trio64 video card and a SoundBlaster 16. There's no Direct3D support at all, but DirectDraw and DirectSound work.
Transport Tycoon (DOS): Works extremely well. Not surprising, since it worked extremely well on my 486.
Total Annihilation (DirectDraw, 1997): Runs, but not proportionally well to the CPU benchmarks. It's comparable to playing on a 200 MHz Pentium MMX - you can do it, but I wouldn't recommend playing on a large map with a lot of units. Interestingly, the performance improved greatly when I disabled sound, leading me to believe that DirectSound is a major performance issue in Virtual PC.
Moonbase Commander (2D DirectX 8, 2002): Runs, but only at about 75% of full speed. The interface is choppy and laggy, making it difficult to fire accurately. I bet it would run significantly better if I could disable its Miles Sound System music and sound, but it doesn't offer that option and refused to launch when I disabled the sound card in Windows. It's a shame, because I absolutely love this game and would play it frequently if it worked well.
Run PC games on PCs.
But for the Mac user who wants to run a few general-purpose Windows applications, Microsoft's Virtual PC 7 isn't a bad choice.