10 Things Apple Did To Make Mac OS X Faster 375
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."
I love OS X (Score:5, Interesting)
Damn ADC interface.. what am i to do with this big ass cinema display?!?!!?
Re:I love OS X (Score:5, Funny)
Re:I love OS X (Score:5, Insightful)
Re:I love OS X (Score:4, Funny)
Re:I love OS X (Score:2, Informative)
Win2k: 0
WinME: Countless
People put down ME and praise 2k because I'm not alone in this experience. Sure, there's bells and whistles and things, but this alone should convince anyone.
Re:I love OS X (Score:4, Insightful)
It came off my machine after a month, and I went back to Win98 SE.
Yes, it WAS that bad.
Re:I love OS X (Score:4, Interesting)
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 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.
Linux (Score:5, Interesting)
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.
Re:Linux (Score:3, Insightful)
OTOH, I guess MS is driving the hardware industry forward too, which is not all bad.
Re:Linux (Score:2)
Note that the KDE has put work into faster startup/loading, and this is not a Linux thing.
Re:Linux (Score:5, Informative)
OTOH the inter-version speed boosts in OS X have been due to more subtle tweakage, except perhaps for speed boosts related to launchd, and have been more incremental in nature than the anomalous 2.4-2.6 improvement.
I guess my point is that the 2.4-2.6 improvement is more of a leap than it is a trend, where OS X's improvements have been less revolutionary and more evolutionary. I hope Linux continues to improve in performance, but it's very possibly going to suffer from bloat down the road that could offset some performance improvements. It's unrealistic to expect the performance improvements to continue along the lines of 2.4-2.6, in any case. OS X is still lagging in performance, so it's even more imperative that it continue its trend. Hopefully the researchers at Apple will soon find a revolutionary improvement on the order of the 2.6 scheduler to catch up a bit.
Re:I love OS X (Score:5, Informative)
As you may or may not be aware, the ADC connection provides a DVI signal, USB port, AND power. The display has no power pack, and gets its juice from the computer. If you have only a DVI port, you will require a rather large adapter. It's not so much an adapter as it is a "power injector" that injects power into the cable whilst converting it from DVI+USB to ADC. This takes the form of what looks like a very large white power brick from a powerbook.
They are unfortunately rather expensive. ($150?) You can get them from Apple, or from Dr Bott.
The other answer is of course to find a graphics artist or developer that does not already have a second display, and sell it to them. Odds are very hight that if you bring the display over and let them "test drive" it for even five minutes they'll buy it immediately.
Re:No more proprietary hacks? (Score:3, Informative)
Re:I love OS X (Score:3, Informative)
Keep it. All you need is an ADC to DVI Adapter [compusa.com]
I have a 5 year old 17" and a 4 year old 20" Cinema ADC display that look just as good as the day I got them.
Re:I love OS X (Score:2)
Re:I love OS X (Score:3, Informative)
WebObjects URLs with a "/wo/" are session-based; in fact that " zf5gxeMdPL3E3KJeQG51ahhwsC4" stuff is the session ID so you can't go pasting them in places and expecting people to be able to use the URL. If they've got a "/wa/" then they're so-called direct action links, which are fine and can be transferred.
That's the number of the app instance - and is quite high in this c
Re:I love OS X (Score:2)
Re:I love OS X (Score:2)
Re:I love OS X (Score:5, Informative)
Re:I love OS X (Score:2, Insightful)
Re:I love OS X - mod up (Score:2)
Oh, and I recognized this article as a dupe within seconds, yet CowboyNeal couldn't at all? Ouch.
Dupe several years later? (Score:5, Informative)
Re:Dupe several years later? (Score:3, Insightful)
I'm quite impressed he or she can remember so far back. The current posters often miss dupes within the same day.
Re:Dupe several years later? (Score:2, Interesting)
I am not sure you can blame the posters, often two people post the same story before either is listed on the site. Even if one is already there, surely it's the editor that's at fault not the poster?
Re:Dupe several years later? (Score:3, Insightful)
I never saw this article first time round, so I don't mind it getting posted again.
Re:Dupe several years later? (Score:2)
Re:Dupe several years later? (Score:2)
ah, but some of us can't be jiggered to read Digg cos of the inane level of discussion there...
Obvious Dupe (Score:5, Insightful)
Re:Obvious Dupe (Score:3, Interesting)
Wow! An infinite dup loop! (Score:2)
Please, somebody, debug that!
Pointless Effects (Score:4, Insightful)
I don't need high resoution icons, drop shadows, dragging window effects, minimize effects...etc. In windows land, you can turn most of these eyecandy effects off and performance is greatly improved. You'd think that Apple would have considered this when releasing a computer with 256mb of ram on the base model (G4 mac mini). I love the computer, but it is SLOW.
Re:Pointless Effects (Score:5, Insightful)
But it's not in Apple's interest to let you turn off too much of the eye-candy. They want Mac OS to have its distinct look, and they are are in the business of trying to sell you newer hardware.
Re:Pointless Effects (Score:5, Informative)
Re:Pointless Effects (Score:2)
Re:Pointless Effects (Score:2)
Re:Pointless Effects (Score:5, Insightful)
Hopefully, Microsoft's Aero will prove this point.
Re:Pointless Effects (Score:2, Informative)
This is wrong. What little Windows eyecandy there is (menu fade-in etc) is accelerated on virtually every video card.
What you people are ignoring is that the basic OSX eyecandy (genie effect, etc) is 100% done on the CPU on older Macs. The advanced eyecandy (expose effect, etc) just doesn't happen on those machines.
Re:Pointless Effects (Score:5, Insightful)
Re:Pointless Effects (Score:2)
Especially since Apple is using 4200 RPM drives in the G4 minis.
Re:Pointless Effects (Score:2)
That should be 'was,' rather than 'is,' since they're not making them anymore and in the last few months, they were shipping Minis with 5400 RPM drives, like mine. 4200 must have sucked though, especaill with quite a few people wanting to use them as PVRs. At least the Intel ones are 5400 RPM [apple.com] now.
Re:Pointless Effects (Score:3, Interesting)
It wont, and I've already bought more memory for myself. Been there...saved up.
Re:Pointless Effects (Score:4, Insightful)
Re:Pointless Effects (Score:2)
Panther to Tiger? (Score:5, Interesting)
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).
Re:Panther to Tiger? (Score:4, Interesting)
Re:Panther to Tiger? (Score:5, Informative)
Both machines are still great for general desktop work and light development. I bumped the iBook to Tiger (OSX) to get Tiger (Java), and I havent really bothered to upgrade the tower because I havent had the time and its not a pressing concern for me. But given the results on the iBook, I dont expect a performance hit when I do upgrade.
Re:Panther to Tiger? (Score:2)
It gets used very little because I have not had time to install everything the way I like it. The Tiger upgrade is not reccomended on a critical machine.
Re:Panther to Tiger? (Score:2, Funny)
Re:Panther to Tiger? (Score:2)
Re:Panther to Tiger? (Score:2)
Re:Panther to Tiger? (Score:3, Interesting)
So is the Dashboard a "massive resource hog"? I think not...
Re:Panther to Tiger? (Score:2)
This also makes sense because I'm going to bet that if Leopard even supports G3 machines at all it will be the last version. Apple recently
Re: (Score:2)
Re:Panther to Tiger? (Score:3, Interesting)
What with slower HD on iBooks I presume paging memory to disk can cause a significant hit (Widgets take up barely any CPU but can consume quite a bit of memory).
Re:Panther to Tiger? (Score:4, Informative)
I still think that Panther was running a bit faster tahn Tiger, maybe it is the widgets..........
silly widgets!
No, it's spotlight. My iBook would thrash like crazy until I disabled spotlight. Of course now I can't search at all.
Apple should've made spotlight optional.
Re:Panther to Tiger? (Score:5, Informative)
Ten things they should fix (Score:5, Informative)
Re:Ten things they should fix (Score:2)
Re:Ten things they should fix (Score:2)
Or you could click on the "Print" link to get a printer-friendly single-page layout.
Re:Ten things they should fix (Score:2)
Re:Ten things they should fix (Score:2)
Re:Mac users.... sigh. (Score:2)
rest of my reply (Score:5, Interesting)
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.QuickTimeCompon
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.
Ironic? (Score:5, Funny)
I'm somewhat concerned that an optimisation geek did not order his data set.
Whats up with the ABI change? (Score:2, Interesting)
Has this been changed? Are all the registers of the PPC being used properly now? Is the PC register actually being used as a program counter, rather than one of the generic 32-bit registers?
On-the-fly Defragmentation (Score:4, Interesting)
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?
XFS (Score:2)
On all my servers I use XFS on all the non-os partitions. Same on my desktops. I run xfs_fsr nightly out of cron, and everything stays very fast. Even with the dozens of VMWare disk images I have all over the place.
Re:On-the-fly Defragmentation (Score:2)
I've always loved this about Apple.... (Score:2)
journalling... (Score:2)
one big thing they may have missed.... (Score:4, Interesting)
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.
Apple and GCC (Score:5, Informative)
Unfortunately, on the Intel side, Apple is going with the Intel compiler, probably because it's faster than GCC Intel. No OSS. But maybe Apple doesn't need to contribute to that because Intel will keep doing good work.
"Dave: Is Dead == Everybody" (Score:3, Funny)
Helping Developers Create Faster Code
I can think of a few other useful permutations:
Helping Create Code Developers Faster
Helping Create Faster Code Developers
Helping Code Create Developers Faster
Helping Code Create Faster Developers
Helping Faster Developers Create Code
Helping Faster Code Developers Create
Helping Faster Code Create Developers
Developers Helping Code Create Faster
Developers Helping Create Faster Code
Developers Helping Code Create Faster
Developers Helping Faster Code Create
Developers Create Helping Code Faster
Developers Create Faster Helping Code
Create Helping Code Developers Faster
Create Developers Helping Faster Code
Create Code Helping Developers Faster
Create Code Helping Faster Developers
Create Code Faster, Helping Developers
Create Faster, Helping Developers Code
Create Faster Developers, Helping Code
Create Faster Code, Helping Developers
Code Helping Developers Create Faster
Code Helping Create Developers Faster
Code Helping Create Faster Developers
Code Helping Faster Developers Create
Code Developers Helping Create Faster
Code Developers Create Faster Helping
Code-Faster Developers Helping Create
Faster-Helping Developers Create Code
Faster-Helping Code Create Developers
Faster Developers Helping Create Code
Faster Developers Helping Code Create
Faster Developers Create Helping Code
Faster Code Helping Developers Create
Faster Code Helping Create Developers
Faster Code Developers Helping Create
Choose a research topic! Lucrative grants to be won! (Topics involving procreation by/of developers expected to go quickly.)
Re:What about OSes with GNOME? (Score:3, Funny)
You don't get out much, do you? GNOME 2.14 is supposed to be extremely fast in comparison to previous releases, which were also faster than their predecessors.
Uhhh...I'm guessing if anyone's not getting out much....well, nevermind. If you can't say something nice don't say it at all.
Re:What about OSes with GNOME? (Score:2)
Re:What about OSes with GNOME? (Score:2, Flamebait)
Actually this is a general feature of most software. Just not Microsoft's software.
Most software gets _faster_ in between versions. New features may run slower, but other aspects of the software should speed up, not slow down. Optimization takes time.
People are just used to Microsoft, where (version ++1) = (hardware ++1)
Re:What about OSes with GNOME? (Score:3, Insightful)
Re:What about OSes with GNOME? (Score:2)
Re:What about OSes with GNOME? (Score:2)
Unless you've actually tried running a modern Linux on a P166, you need to close your big mouth. I actually did try it about 2 years ago, except on a Thinkpad 560x (P-MMX 233), and it was extremely slow just running X, TWM, and Firefox (and unusable for web browsing running any lighter browser, like Dillo).
I ended up replacing the Thinkpad with an 800Mhz iBook G4, and only now is it starting to get too slow to use (not that it was fast when it w
Re:What about OSes with GNOME? (Score:2)
Your complaint makes as much sense as r
Re:What about OSes with GNOME? (Score:2)
WTF is that supposed to mean? I ran X on 20Mhz 486s with 4MB RAM. It's not X that is the problem, that's what he was pointing out.
Said that, since I don't need those things, I'm a happy user of blackbox and derivates, which I can also use on windows (and surprisingly, everyone that saw me using it wanted me to install it on their windoze box)
That's the point!
Re:Call me weird, but... (Score:4, Informative)
Re:Call me weird, but... (Score:4, Informative)
Um... VMS is definitely NOT "some form of *nix".
Re:Call me weird, but... (Score:5, Informative)
It was also the only mainstream OS that could not handle filenames more than 31 letters long, the only mainstream OS that didn't have protected memory, and the only mainstream OS that didn't have any form of preemptive multitasking.
The first of these is the most ironic. Back in 1999, Mac users were still ridiculing "Micros~1", while in fact it was their operating system, not Microsoft's, which could not handle adequately long filenames!
But it was the second and third, the lack of basic features essential for the stability of modern desktop applications, which led to it being such an unreliable system. No surprise that Apple were so keen to ditch the whole crufty thing in favour of the modern platform that became OS X. OS 9 was totally failing to salvage their rapidly declining reputation. OS X was their salvation.
So, yes, OS 9 screamed in comparison to OS X. But so did its unfortunate users... loudly and regularly.
Re:Call me weird, but... (Score:5, Informative)
OS 9 seemed faster because the first iteration of OS X, which people tended to run on the same hardware, was dog slow.
Re:Call me weird, but... (Score:2)
So you're saying that OS 9 seemed faster than OS X because it was?
Re:Call me weird, but... (Score:2)
And Microsoft Office X still had that crappy 31 character limitation. I was wondering why it wouldn't let me save a document with more than 31 characters since I had never used OS 9.. I guess that explains it, Microsoft sucks.
Re:Call me weird, but... (Score:2)
Actually, if you shut off the 8.3 aliasing feature of NTFS (which creates the "Micros~1" directory when you make a "Microsoft Office" directory, for example) - all kinds of things start breaking. Even on XP. Microsoft handles long filenames. It handles them by creating two filenames, and alternately
Re:Call me weird, but... (Score:3, Informative)
Re:Call me weird, but... (Score:5, Informative)
For the short of memory...
There were a LOT of operating systems before *nix. One of the main creaters of OSses was Digital Equipment Corporation. They had an OS for each of their different computer systems (PDP-1 through PDP-20, also known as DECsystem-20). All these OSses had a different architecture, because they wer built for different purposes. However, DEC standardised the CLI on these OSses. The CLI was called DCL (Digital Command Language).
ATT (Bell Labs) were using DEC systems with when they decided to create their own OS. IIRC they used a PDP-7, and later PDP-11's running RSX-11. So, instead of everything being based on *nix, it's the other way around. All the *nixes are "inspired" by the other OSses at the time, in particular RSX-11 and DCL.
VMS (later OpenVMS) was the world's first commercial computer using a virtual memory system. That's why it's called VMS. It was meant as a successor to RSX-11, and it ran on VAX computers (Virtual Address eXtention). The chief VMS architect Dave Cutler was hired by Microsoft to help create Windows NT. Windows NT later became W2K, WXP etc.
So, also Windows is NOT based on *nix.
As far as I can tell, actually only Linux is based on *nix.
Anybody know any other OS that is based on or inspired by Unix?
Re:Call me weird, but... (Score:2)
This is a bit like saying that the bird which just waddled past, with duck-like feathers and a yellow beak, making a "quack quack" noise wasn't a duck.
Re:Call me weird, but... (Score:3, Informative)
Re:Call me weird, but... (Score:3, Interesting)
I much preferred Mac OS back in the OS 9 days. OS 9 screamed in comparison to OS X. It had its problems, sure, but at the time it was the only mainstream OS that was not built on technology besides itself.
If you've ever developed for Mac OS 8/9, you'd realize just how serious those pr
Re:Call me weird, but... (Score:2)
Mafia saying: behind every great fortune lays a small crime.
Well, duh! (Score:5, Informative)
Before OSX, the mac had the reputation of the machine that crashed all the time. By comparison, Windows was actually pretty reliable (this was before all the spyware/malware/crap that affects it recently, remember). Linux was best, of course...
Now you're just displaying your ignorance
newsflash:when you need to do more work because you're in a far-more-capable and complex environment, it can take more machine-instructions to perform the task. This is just griping - the world has moved on from buggy, insecure, crappy-old OS9. Move with it.
They didn't throw any babies away, they did what they needed to do (ditch the abortion that was OS9) and move onto a new platform which provided the security, flexibility, and reliability that any modern OS provides. A brave decision, under the circumstances, and one well-conceived and executed.
Simon
Re:Easiest way to make a Mac faster is go back to (Score:5, Insightful)
As long as you're waxing rhapsodic about that OS "written from the ground up in the early 80s to be graphical", you might also remember that it was also written from the ground up to be B&W, single-threaded, single-tasking, use fixed-size memory spaces, and totally without any form of internal or user-based security.
Any of those things that were added on later were major hacks to the system. Some, like the non-preemptive MultiFinder (switcher) were ingenious hacks, but hacks nontheless. Or are you saying a modern OS should swap out hundreds of shared low-level global variables on every context switch?
Or that, since you mentioned HLOCK, why a modern OS should have a handle-based non-protected fixed-patition-sized memory system, itself probably responsible for half the memory allocation/corruption bugs and crashes in any given Mac application. Or why a program needs me to allocate more memory to it when there's a half-gig free?
Or perhaps you can explain just why the system resource and process-slicing allocation kernal of a modern OS needs to be "graphical" from the ground up? Or conversely, why graphics, networking, file management, and other subsystems should not be layered on top of a rock-solid base?
I mean, if you really take the time to actually think about it, you might find that the "good old days" are in fact nothing but a fond, hazy memory... and far removed from the truth.
Re:Easiest way to make a Mac faster is go back to (Score:3, Insightful)
The mouse pointer (Score:4, Informative)
It's a matter of re-learning your hand-eye-mouse coordination. If the USB Overdrive behavior were the default, millions of graphic artists, and anyone who needs fine control, would cry out in anguish.
Re:20 Things Apple Still Needs To Do (Score:3, Insightful)
The
I've yet to try the mac mini on an apple
Re:Lack of hibernate hurts (Score:5, Informative)
I don't know why people try to defend Apple on this particular design decision. There's absolutely no reason why hibernation shouldn't be included in OS X.
It could be that it's because hiberation actually does exist in Mac OS X. It's just not a well known fact. OS X 10.4's "Safe Sleep" (Google cache [72.14.203.104]) saves the active memory to disk when a Mac [laptop] goes to sleep...lest the power get interrupted. If one is so inclined, they can activate it, and even choose to use it by default. I've enabled it on my Mini, and it definitely works.
However, if you're not a Mac user, you may not appreciate how good the normal "Sleep" mode is. Unlike Windows, a Mac which has been put to sleep will resume almost immediately, and be instantly usable. My iBook can stay 'asleep' in my briefcase for ages, with very little battery consumption, and as soon as I open the lid, I am good to go. This impresses me more than words can say.