Slashdot Mirror


Making Operating Systems Faster

mbrowling writes "In an article over at kernelthread.com Amit Singh discusses 'Ten Things Apple Did To Make Mac OS X Faster'. The theme seems to be that since you won't run into 'earth-shattering algorithmic breakthroughs' in every OS releases, what're you gonna do to bump your performance numbers higher? Although the example used is OS X, the article points out that Windows uses the same approach."

5 of 667 comments (clear)

  1. One word: by swordboy · · Score: 5, Interesting

    Hard Drive

    Largest bottleneck in any modern system. If you've never had the opportunity to use a 15krpm (or something faster) system, do it now. It flies... I don't care if it is Windows or what... it doesn't matter when you've got usable bandwidth to the biggest chunk of storage out there.

    --

    Life is the leading cause of death in America.
  2. Prebinding not all good by mac-diddy · · Score: 5, Interesting
    Sure, prebinding does speed up loading, but it also breaks everything from tripwire, to backup. Since the file is changed out from under you, all traditional unix tools that use checksums or file size to determine file changes break.

    Apple, and other system vendors need to consider these types of management issues when making a change. Speed improvements are only good if they are "management friendly"

  3. That's 2 words. by Moderation+abuser · · Score: 5, Interesting

    Anyway... You are completely correct but...

    My 2 words are RAM DRIVE. You think you can't justify 4Gb of RAM? Course you can.

    Dedicate 2-3Gb of it to a ram drive and mount it as your root, /usr, /opt partition, whichever one you have all of your applications installed on. Copy the hard drive to the ram drive at bootup. DD can do it quickly if you just zap the whole partition across. I think there are mount options to tell the Linux filesystem buffer not to cache a particular filesystem.

    The difference in performance can be stunning.

    --
    Government of the people, by corporate executives, for corporate profits.
  4. Re:Hello? Linux, are you there? by bheer · · Score: 5, Interesting
    -1, Misinformation. Office and IE don't keep "portions" resident in memory in either the DOS TSR sense *or* in the Mozilla Quickstart (or whatever it's called now) sense.

    The case of mshtml.dll, shdocvw.dll, urlmon.dll are a little different. These are *system DLLs* which can be used by any app, including IE (iexplore.exe) -- and the shell (explorer.exe). Explorer in particular will load urlmon if you visit FTP or WebDAV sites.

    IIRC after login on a fresh Windows 2000 install, none of mshtml, shdocvw or urlmon are loaded.

    Note that Working Set Detection/Maintenance on Windows can change this over time, but it will do so even for Firefox or any other non-MS app.

    Btw, the real reason IE and Office start up quickly is because they are better engineered that the competition -- which is typically cross-platform portable code that is not particularly optimized for Windows. Reducing startup time is not necessarily a black art:
    [...] Startup time is all about minimizing disk I/O. So analyze your startup code to death: Track every page fault and work to get rid of it. Delay initialization of everything that can be delayed. (The fastest code is code that doesn't run at all.) Take all the functions that are called at startup and put them near each other in memory so you take fewer page faults. Use the /ORDER switch to do this. If you have a large function and only half of it is used at startup, break it into two functions, the part used at startup and the part that isn't. Reorder your data so all the memory used by startup is kept near each other in memory. With CPUs as fast as they are, disk I/O is the limiting factor in app startup. [ link]


    The true measure is how fast the app runs, not how fast it opens.

    Not sure what your point is, but Open Office and Mozilla both run slower (_and_ open slower) than Office and IE on comparable hardware. Thankfully, Firefox opens slower than IE, but is almost as fast in use for most common tasks, which lets me use it for day-to-day browsing.
  5. Re:#1 thing Apple should do... by rworne · · Score: 5, Interesting

    Apple removed striping from everywhere in Panther. Quite a bit of it was replaced by brushed-metal. Even so, all it is doing is replacing one bitmap with another. The only possible gain is if they do not need to use alpha for transparency. Yet not all of this is by "removing" stuff. Quite a bit of tweaking is being done to speed up the OS, the most recent software update resulted in quite a few reports of faster system operation, and there was no discernable change in the featureset or operation of the UI.

    The reason X runs slowly compared to Aqua is that Apple optimizes Aqua and allows harware acceleration (Quartz Extreme) and offloads lots of tasks to the GPU. I know of no X windowing system (aside from Apple's own implementation) that does this in OS X.

    10.0 and 10.1 were dog-slow. Especially when you had a couple of hundred files in a folder. Jaguar was a huge increase in speed and performance. Quite a bit of that was due to the Quartz Extreme, but even my lowly 500MHz dual-USB iBook saw quite a boost from Jaguar and it was not able to use QE at all. Panther did very little to the iBook, except make it take forever to boot. I need to check on that bootcache issue.

    My dual 800MHz Quicksilver is now almost three years old and I am still very happy with its performance. I expected to be wanting to replace it after two years, or after clock speeds have doubled, which is what I did when I used Wintel systems. Instead, I am considering keeping it around for the 10.4 release and at least another year or two. I attribute quite a bit of this to Apple's tweaks and performance enhancements of the OS.

    --
    I tried every decent and legal way I could think of to resolve the issue w/the business before I rented the chicken suit