Saturday, June 05, 2004

Making An Operating System Faster

This article outlines 10 changes Apple made to OS X to make it "faster", i.e. more responsive - a very different thing from increasing the throughput rate, which is also a legitimate way to define "faster." I'll concede that responsiveness is far more important to most desktop users though, and it is most of the time even for me, unless I have, say, a heavy compile building, or am executing a demanding and long-running numerical computation.

As one might expect, most of the optimizations carried out by Apple revolve around optimizing for the memory heirarchy*: in plain english, making judicious use of caching wherever possible, and being as clever as possible about what to cache. As the article concedes, none of the techniques employed are unique to Apple, as Windows 2000/XP/2003 and Linux also draw on the same methods, but what makes the difference between one platform and another is the quality of the implementation.

One shortcoming of Microsoft's offerings that I can point out straight away is that neither FAT32 nor NTFS pay any attention to file fragmentation without manual user intervention, but expecting the ordinary uninformed user to routinely run the slow and ineffective Disk Defragmenter that comes with Windows 2000 and XP is asking too much. The end result of this state of affairs is that over the course of a few months, most Windows users experience a dramatic slowdown in the performance of their machines even when all else is fine, and the typical, completely unnecessary response (learned from the bad old days of Windows 95/98/ME) is to reformat and reinstall Windows from scratch.

Another point on which Microsoft compares unfavorably with Apple is in the support provided by its development tools for application profiling. It's bad enough that the cheapest version of Visual Studio .NET that's worthwhile for real-world use is priced out of the reach of many developers, but what is worse still is that it comes without a profiler by default! Using Perfmon for profiling, as suggested in the .NET Framework SDK, is not a serious suggestion as far as I'm concerned.

*For more info on which, see Hennessy and Patterson, the reference textbook on Computer Architecture.


Blogger jon said...

amazon textbook are so expensive. I agree, We have been looking for amazon textbook all night for a new amazon textbook class but havent been able to track down used amazon textbook that I can afford. Anyway, I enjoyed looking at you amazon textbook blog...


October 2, 2005 at 5:19 AM  
Anonymous Anonymous said...

Yo, you have a Terrific blog here! Lots of content means more readers, more readers means more Sales!
I'm definitely going to bookmark you!
I have a window xp repair toolwindow xp repair tool site/blog. It pretty much covers window xp repair tool Problems with your Windows Xp Computing !
Come and check it out if you get time We are just a Click Away ! :-)

November 6, 2005 at 4:03 AM  

Post a Comment

<< Home