Slashdot Log In
10 Things Apple Did To Make Mac OS X Faster
Posted by
CowboyNeal
on Sat Mar 25, 2006 09:14 AM
from the road-to-betterment dept.
from the road-to-betterment dept.
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."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
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)
Parent
Re:I love OS X (Score:5, Insightful)
Parent
Re:I love OS X (Score:4, Funny)
Parent
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.
Parent
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.
Parent
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.
Parent
Re:Linux (Score:3, Insightful)
OTOH, I guess MS is driving the hardware industry forward too, which is not all bad.
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.
Parent
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.
Parent
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: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:5, Informative)
Parent
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:3, Insightful)
I never saw this article first time round, so I don't mind it getting posted again.
Obvious Dupe (Score:5, Insightful)
Re:Obvious Dupe (Score:3, Interesting)
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.
Parent
Re:Pointless Effects (Score:5, Informative)
Parent
Re:Pointless Effects (Score:5, Insightful)
Hopefully, Microsoft's Aero will prove this point.
Parent
Re:Pointless Effects (Score:5, Insightful)
Parent
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)
Parent
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)
Parent
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.
Parent
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.
Parent
Re:Panther to Tiger? (Score:5, Informative)
Parent
Re:Panther to Tiger? (Score:3, Interesting)
So is the Dashboard a "massive resource hog"? I think not...
Ten things they should fix (Score:5, Informative)
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.
Parent
Ironic? (Score:5, Funny)
I'm somewhat concerned that an optimisation geek did not order his data set.
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?
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.
Parent
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:3, Insightful)
Re:Call me weird, but... (Score:4, Informative)
Parent
Re:Call me weird, but... (Score:4, Informative)
Um... VMS is definitely NOT "some form of *nix".
Parent
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.
Parent
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.
Parent
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?
Parent
Re:Call me weird, but... (Score:3, Informative)
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
Parent
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.
Parent
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.
Parent
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.
Parent