Linux is far faster than Windows. That’s old news. It’s why Linux runs 90-percent of the world’s top 500 fastest supercomputers, while Windows runs 1-percent of them. What’s new “news” is that a Microsoft operating system developer recently admitted that Linux was indeed much faster and why that’s the case.
This anonymous Windows kernel programmer first made his comments on a Hacker News conversation thread. He then followed up with further comments on Marc Bevand’s Zorinaq blog. Bevand is a senior software engineer for Adconion, who specializes in high-performance computing (HPC).
The Microsoft developer opened by saying, “Windows is indeed slower than other operating systems in many scenarios, and the gap is worsening. The cause of the problem is social. There’s almost none of the improvement for its own sake, for the sake of glory, that you see in the Linux world.”
It’s not that Windows developers don’t want to improve their operating system’s performance, the problem is that Microsoft’s software development culture discourages improvements. The programmer wrote:
Granted, occasionally one sees naive people try to make things better. These people almost always fail. We can and do improve performance for specific scenarios that people with the ability to allocate resources believe impact business goals, but this work is Sisyphean. There’s no formal or informal program of systemic performance improvement. We started caring about security because pre-SP3 Windows XP was an existential threat to the business. Our low performance is not an existential threat to the business.
See, component owners are generally openly hostile to outside patches: if you’re a dev, accepting an outside patch makes your lead angry (due to the need to maintain this patch and to justify in in shiproom the unplanned design change), makes test angry (because test is on the hook for making sure the change doesn’t break anything, and you just made work for them), and PM [project manager] is angry (due to the schedule implications of code churn). There’s just no incentive to accept changes from outside your own team. You can always find a reason to say “no,” and you have very little incentive to say “yes.”
There’s also little incentive to create changes in the first place. On linux-kernel, if you improve the performance of directory traversal by a consistent 5%, you’re praised and thanked. Here, if you do that and you’re not on the object manager team, then even if you do get your code past the Ob owners and into the tree, your own management doesn’t care. Yes, making a massive improvement will get you noticed by senior people and could be a boon for your career, but the improvement has to be very large to attract that kind of attention. Incremental improvements just annoy people and are, at best, neutral for your career. If you’re unlucky and you tell your lead about how you improved performance of some other component on the system, he’ll just ask you whether you can accelerate your bug glide.
Full Story: Anonymous MSFT developer admits Linux is faster than Windows | ZDNet.