Windows Vista SP1
Windows Vista is the OS that everyone loves to hate. But like those '70s gas-guzzling cars and '80s hair bands, history will eventually record that Vista was an important turning point in Windows development, a bitter pill that had to be swallowed in order to move the platform forward.
And what a horse pill it was! Vista introduced a kind of memory-sucking, CPU-swamping, disk-thrashing hyperactivity that was entirely foreign to its intended audience of XP users. And regardless of how well-intentioned the designers were -- doing extra stuff in the background to help you work better seems like a great idea on the surface -- the net result was a sluggish OS that made a terrible first impression.
Fortunately for Microsoft, Vista had Moore's Law on its side. The combination of increased CPU power -- including the move to multiple cores -- and cheap memory and storage have helped offset Vista's perceived "bloat" to a point that, for many users, the OS is now quite usable, at least on modern hardware. All of which bodes well for Vista's successor, Windows 7, which performs quite similarly to its progenitor.
But first, the straight skinny on Vista: Compared with Windows XP, Vista delivered database transaction times that were a full 92 percent slower on our dual-core test bed. However, when the focus shifted to our quad-core system, the performance gap with XP narrowed to just 19 percent. Likewise, the workflow portion of the test went from a 98 percent delta on two cores to a more modest (yet still gaping) 66 percent delta on four.
There are two key takeaways from the above data points. First, the workloads still run much slower on Vista than on XP. This is true for both dual- and quad-core systems. Second, Vista scales better than XP when moving from two to four CPU cores. This is demonstrated by the way that Vista closes the performance gap with XP as you increase the core count. Taken to its logical conclusion -- and disregarding for the moment external factors, like bus speeds, I/O contention, and memory latency -- Vista would ultimately overtake XP when the core count reaches between 32 and 64.
With quad-core systems now rapidly sizing up as the norm, and with six- and eight-core parts likely to become commonplace within the year, it seems clear that the multicore kernel tweaks Microsoft made to Vista will eventually pay dividends as its superior scalability becomes more of a factor. But for now, with today's hardware, Vista's inherent complexity means that our workloads have to navigate a much longer and more convoluted code path, all of which shows up in both the raw transaction times and in the underlying execution efficiency.
For example, when viewed under the same processor-utilization parameters as Windows XP, Windows Vista consumes 40 percent more CPU cycles per database transaction on our dual-core test bed and 44 percent more on our quad-core test bed. Similarly, Vista chews up 30 percent more cycles when executing our workflow transaction loop on dual-core and 27 percent more cycles on quad-core.
You can chalk this overhead up to several factors: changes to the MDAC or MAPI code stacks; increased code path complexity in the kernel (DRM rears its ugly head); or interference from additional background processes. But the bottom line is that the CPU has to chew through more code each time it executes one of the workload transaction loops, and this translates into poorer overall performance as the CPU tries to juggle the workloads against all of the other processes that are competing with them for processing time. And that's why Vista is so much slower than XP at a great many tasks.