In a research report on the Singularity Project, Microsoft researchers included some interesting data on Linux and FreeBSD kernel performance verses Windows XP; specifically, Linux kernel 2.6.11-1.1369_FC4 from Fedora Core 4, Windows XP SP2, and FreeBSD 5.3.
The test results are interesting from an OS technical point of view. For example, it’s apparent that Windows XP still suffers from a lot of compatibility baggage. It takes over 7 times more cycles to start a process under Windows XP than under Linux. That’s due in part to compatibility checks like a lookup in the Application Compatibility Database, a user mode service to see if the new program needs to have any compatibility shims added.
However, I’m pleased to see the results because it’s this kind of open, honest quantitative benchmarking data that will make both Linux and Windows better systems. How is that? We can’t improve what we can’t (and don’t) measure. Related to that is intellectual honesty in interpreting the results. Yes, Linux it takes Linux 1/7 of the CPU cycles that it takes Windows XP to start a process. But Windows XP is faster than Linux in many of the benchmarks, especially those related to threading. While the difference isn’t so dramatic, blanket statements like “Microsoft Reports OSS Unix Beats Windows XP” from this Slashdot article are misleading.
A pet peeve of mine for many years has been Open Source evangelists who disregard intellectual honesty in favor of ideology. That usually manifests itself as declarations of the superiority of Open Source software verses proprietary software even when the evidence suggests otherwise.
So let’s not take this report as evidence that we’ve won and can go sit on our laurels. Instead, let us congratulate Linux developers for a job well done, and support and encourage them to keep at it until we can truly say that “OSS Unix Beats Windows XP”.