Slashdot Mirror


10 Things Apple Did To Make Mac OS X Faster

bariswheel writes "This kernelthread article seeks to investigate further to the inner core of OS X and the improvements therein. The subtopics are the following: BootCache, Kernel Extensions Cache, Hot File Clustering, Working Set Detection, On-the-fly Defragmentation, Prebinding, Helping Developers Create Code Faster, Helping Developers Create Faster Code, Journaling in HFS Plus, and Instant-on."

9 of 375 comments (clear)

  1. I love OS X by BoomerSooner · · Score: 5, Interesting

    OS X is the only OS I"ve ever installed that subsequent versions speed up my older computers. Amazing... I'm waiting for an Apple Intel Tower and I'll retire my G4 Tower.

    Damn ADC interface.. what am i to do with this big ass cinema display?!?!!?

    1. Re:I love OS X by Drakino · · Score: 3, Interesting

      "1. faster booting"

      Yep, comes in handy when the OS can't handle a day or two of uptime. Windows 2000 was so much more stable, and didn't take all that long to boot. Longer then ME, yes, but I bet you wasted more time watching the boot screen then 2000 users did.

      "2. disk scan ran inside windows and was a million times faster"

      Except that ME wasn't smart enough to multitask when scanning a disk. So that frequent bootup disk scan you saw was always interrupted several times when it tried to start, and if some bootup process accessed the disk say every minute or two, it would never finish. I think the majority of ME users just cancelled that any time it popped up. Of course those of us who skipped ME and went from 98 to 2000 started enjoying journaled filesystems and had no need for the disk scan to run inside windows.

      "3. native .zip support"

      Zip support that is horribly implemented. Lets walk you through a multipart wizard to extract this file, or present it as an explorer window that lets you run things directly out of, but causes most programs to freak out when you try this. I still don't use the built in Zip support on XP even though it has been slightly improved. Running things inside a Zip directly is as bad as compressing the hard drive for more space.

      ME sucked. It was simply a quick release from Microsoft for the consumer market to get something new out, since all the "consumer friendly" features didn't make it into NT 5, err, I mean Windows 2000. For MS to go completly backwards and ship another archaic 16/32 bit mess of DOS based code after Windows 2000 was just silly. I feel pitty on anyone who actually paid for a copy of ME.

  2. Panther to Tiger? by fa_king · · Score: 5, Interesting

    I updated from Panther(10.3) to Tiger(10.4) and my machine seemed slower. I decided to do a fresh install, and things improved, as always the fresh install is better than an update.

    I still think that Panther was running a bit faster tahn Tiger, maybe it is the widgets..........
    silly widgets!

    This was all done on a PowerBook G4(TiBook).

    1. Re:Panther to Tiger? by boomerny · · Score: 3, Interesting

      It's not just you, I've heard many reports of Tiger being slower on older machines. Because of that, I'm staying with 10.3 on my Pismo until it is replaced as it runs acceptably fast in nearly every situation (I don't do video or gaming or any other CPU/GPU intensive stuff). I don't miss Widgets or any of the other new eye-candy type stuff in 10.4. BTW, the replacement for Pismo will be in the form of the second-gen Macbook Pro with a Merom-based core duo being released in Q3 (fingers X'ed), and will hopefully last 6 years like my Pismo has.

  3. Linux by metamatic · · Score: 5, Interesting

    Linux gets faster too.

    Kernel 2.4 to 2.6 was a pretty big jump in speed. I just upgraded to the latest KDE and a bunch of other updates, and got another performance jump. Once they shake the bugs out of the Radeon drivers for X.org, I'll get accelerated X, and another big speed boost.

    In fact, of the major OSs, it's pretty much only Windows that keeps getting slower.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  4. Re:Obvious Dupe by Goo.cc · · Score: 3, Interesting

    I'll tell you what happened: somebody submitted this old story to Digg and a Digg reader then submitted it here. (I have noticed that many stories appear at Digg first, which is why I read Slashdot once a day now, and Digg now has Slashdot's old spot on my link toolbar in Firefox.)

  5. On-the-fly Defragmentation by mjm1231 · · Score: 4, Interesting
    I know that NetWare (at least as far back as 5.1) used a different method to avoid the need for defragmentation, which basically just allowed the disk to read the sectors based on the physical location on the disk rather than the order they were needed. The thing was, without defrag tools, you couldn't even check to see if fragmentation was a problem. The same problem exists with *nix filesystems right now. Everyone says you don't need to defrag, but there's no easy way for the average admin to verify this.

    The HFS plus approach seems like a good idea, but I'm wondering if there is a performance cost, both in CPU cycles and drive wear and tear. It also looks to me like the system could be defragging files that are already contiguous, but I may be wrong. Given that modern journaling filesystems (supposedly) are not likely to become fragmented in the first place, is this feature worth it?

    --
    Ideology: A tool used primarily to avoid the bother of thinking.
  6. rest of my reply by MoneyT · · Score: 4, Interesting

    since I screwed up, here's the rest:

    I'm not sure I agree with all or even most of his points of contention.

    In issue 1 for example he complains that each open/save dialouge starts out the exact same way and then goes on to complain further in the article that the OS isn't always consistant. It's consistant for each dialouge to remain the same size by default until the user specifies a change. Furthermore since the size of the dialouge can be set per application, that size would need to be specified by the application making having a universal override obnoxious.

    In his 2nd point he's descirbes a senario which is at best extremely uncommon and then describes a process which is obnoxious and complicated when it's easier for most people to either have an automator script to open specific things they want or even better for his senario and automator script which asks where he is and then opens the appropriate applications. A simple applescript for the applications one doesn't need all the time with a prompt at the begining to ask whether to launch the remaining apps and then placing that script in the login items folder seems more useful and less annoying than check boxes to enable and disable each item that you must do before loging out the previous time.

    point 3 he's correct on

    point 4 he's correct on the disapearing sidebar but on the issue of double clicking the boarder, it's a rather difficult task to accomplish accidently so I am sure anyone doing it would notice the dimple before and after.

    point 5 he's moving away from his consistancy argument again. With the column view you set the size of the columns and the number of columns, and if you chose to physicaly change the display you can. What he's suggesting is a display system which dynamicaly changes size to fit the content of the display which while it could be benneficial to some people seems overly complicated and a major violation of the consistancy guideline. It's concieveable to see a situation there where all of a sudden you would go from having 4 collumns displayed to having 2 or 1 because you have one file in the display such as "com.apple.Components2.LocalCache.QuickTimeCompone nts" which now expands their one collumn to occupy most of the window.

    point 6 he's correct on

    point 7 he's got a point but at the same time, with the addition of the PDF abilities and the fact that faxing IS handled with PDFs it does make sense to put it under the PDF button. In the end I don't find it much more of an abstraction than his recomendation to make it an availible printer.

    point 8 I can see a method to the madness in that if the next set of startup items require the server, it's important for you to know that the server is not availible BEFORE those apps launch and fail. There may be a better way, but I don't agree that it's a failing.

    in point 9 the views update for the column view I think is a good thing. While it's not 100% consistant, in this case it would be irritating for a directory I'm working with to rename and then immediately move out of my working view until I indicate being done with the directory either by being idle or moving to a new object.

    The size information I would assume is an updating routine thats scheduled rather than called.

    in point 10 if he cant see a situation where a user might unknowingly or mistakenly change their file extention then he needs to think harder. The checkbox would be nice though but it's also nitpicking at this point. It's a potentialy destructive action, and a user should be reminded to think before they do it. Being able to permanently dismiss such reminders is what gives viruses and other malicious programs a better chance of succeeding.

    --
    T Money
    World Domination with a plastic spoon since 1984
  7. one big thing they may have missed.... by Malor · · Score: 3, Interesting

    Doesn't Apple use gcc?

    I know gcc itself improved a very great deal over the same time period, and I have always assumed that the speed gains were (largely? mostly?) due to that, rather than wondrous new algorithms on Apple's part.

    Linux and KDE sped up a lot too, over the same timeframe.