OS X Snow Leopard seems to do nothing really new. And yet, it could be their most important OS since 10.0.0.
Snow Leopard, as a follow up to Leopard, is almost absurdly insubstantial at first glance. The new operating system takes the same old boring, every day tasks like opening files, for example, and makes them happen subtly faster. But that performance is not being utilized by any third-party programs right now. And there are practically no new first-party programs by Apple. Nope, mostly just rewritten old ones and dozens of little interface tweaks. Some fanboys will ask, incredulously, ‘This is a new operating system?!’ Those people are missing the point.
On deeper inspection, Snow Leopards inconspicuous aspects—performance squeezed from underused CPU multicores/GPUs and basic UI tweaks—are found to be the kind of refinement generally reserved for virtuosity. These speed optimizations are deep, reminding me of when a master martial artist puts the entirety of his weight behind a strike (while a neophyte would flails his limbs like a henchman in a Bruce Lee movie). The little UI tweaks are no different than when a great sculptors chisel works to remove everything non-essential during the final steps on a statue. Challenging 30 years of ever more bloated software tradition, the changes here are about becoming a more effective middleware between the media and the hardware, reducing friction while becoming more useful by, well, being lighter, less visible.
And if you think that’s bullshit, well, I can’t say you’re completely out of your mind, but there’s always the consolation that this OS upgrade costs about the same as a used Xbox game.
After some benching on a first-generation MacBook Air, an older MacBook Pro 15 and a pair of current-gen 13-inch MacBook Pros, its clear that Snow Leopard is faster—sometimes drastically—but almost never in third-party applications. Some people like charts. If you feel like skipping them, heres a summary:
• In preview, where opening six 35MB 20,000-pixel-wide images of Tokyos cityscape each took half the time in Snow.
• Time Machine backed up a 1GB dataset nearly 40% faster than on Leopard.
• There was no discernible improvement in non-optimized 32-bit programs: Photoshop testing and Handbrake DVD ripping times were identical. High-def playback on QuickTime 7 (not the new QuickTime 10 version) was identical in CPU usage, too.
• Synthetic benchmark results were interesting: The aging Xbench app, which tests everything from graphics to disks to memory, took a slight performance dip, implying older software may, too. Geekbench, a multicore optimized, newer benchmark available in both 32- and 64-bit saw a lift on Snow. But the test is only focused on theoretical CPU and memory performance, which may not translate into every day use.
Here’s a video of those JPEGs cranking open in parallel, rather than serial, fashion:
Impressed yet?! You shouldn’t be. Well, not by the act of opening images. But you definitely should once you realize what it really shows: Apple just pulled 2X performance out of my hardware, by software alone. Tada!
How is Snow Leopard Getting Faster?
There are three fundamental reasons for these performance increases: Better multicore processor support through what Apple calls GCD (Grand Central Dispatch); OpenCL APIs for utilizing the processing power in any graphics cards above the GeForce 8600 Series for video acceleration and general purpose computing; and they’ve rewritten almost all the applications that ship with Snow Leopard to run in 64-bit mode while taking advantage of GCD and CoreCL. So it’s making processing for today’s chips more efficient and easier for developers, and giving programs a way to utilize the power of the video card when it’s not playing games. It also allows programs to run in 64-bit mode, the main theoretical advantage of which is to allow these programs to access more than 4GB of RAM on systems that have it. (More on all that at the bottom of the page.*)
Snow Leopard is efficient in other ways too. Install size is down to 10GB from 16GB, most of that weight shed by losing printer drivers and the PowerPC part of universal binaries. (Snow Leopard runs only on Intel hardware and downloads printer drivers it needs from the net, as you need them.) Installation is also quicker by about 30% on any given piece of hardware (consistent with the smaller install footprint) and in a move that can only be categorized as showing off, Snow Leopard can finish its installation if you accidentally power it down midway through.
But Im digressing. The bottom line on performance is that the programs included with this operating system will do just about everything faster on modern machines that support those technologies—that is, most of the multicore Macs or those running Nvidia 8600 series video cards or higher. And not just a bit faster, but faster on the scale of 25 to 50% which means theres typically a good amount of latent processing juju in your video card and CPU. Great, but to be honest, its a bit less impressive than it sounds in real life, today, because all the basic system tasks happen fast anyhow. (When was the last time you sat around while a JPEG opened up?) Again, no other apps that use GCD or OpenCL are available from software makers outside of Apple. But if the theoretical gains are here to be had via easier programming methods, Id bet those apps will come soon.
There are 5 major changes in the UI:
Icons now scale, courtesy of a little slider on the bottom right of the pane, up to 512 pixels wide. It sounds wasteful, except that video files can be played directly from the finder window. Honestly, I don’t prefer it more than the QuickLook (hitting spacebar to popup a quick preview window) in Leopard and carried over in Snow Leopard. I don’t mind the option, but I have no use for this feature.
OS X’s dock has been interactive for some time. You could drag a file to an icon there to somehow get the two to interact, but you could never use the dock to select which window instance of an app to use. Now clicking and holding (empty handed or with a file) triggers Expose, Apple’s window management doohickey, for that particular application. Being able to quickly pop out an app’s windows and then select the right one in a single step is terrific, but you still can’t use Expose to quickly find the browser tab you want
within a window. That’s an increasingly big problem as the time spent in browsers goes up.
Expose itself has been improved, too. When viewing all the windows for one application in Exposes zoomed-out view, the items are now arranged in a grid instead of a single, impossible to read line, and each window has a text label. (Thats helpful when youre trying to recognize a particular window amongst lots of similar looking—and rendered tiny by Expose—text documents or emails.) Minimized windows are also now shown at the bottom of the screen under a faint line dividing it from other maximized windows from the same application.
When Stacks made its debut in Leopard, the dock mounted quick file viewer was too twitchy to use. You’d try to move a file andit would snap close, offended you’d try to do anything but open a file. And the space was always too limited in fan or grid mode to display more than a few icons. Stacks improves on this by allowing scrolling in the Grid view, but by also adding a smart list view capable of showing numerous files at once. It’s an improvement.
Putting QuickTime in this list is questionable, but aside from its acceleration, there are some major changes here. That is, as you mouse away, the video screen loses all borders and buttons, appearing like the video equivalent of an infinity pool or one of those ultra thin LCDs. The program has a new capture system for encording video and audio clips and even voice annotated screen capture sessions. It also borrows the trimming thumbnail line from iMovie ’09. I love it.
Let’s face it, in the big picture, calling these changes ‘major’ is generous. But there are literally dozens of even smaller examples, all welcome, all reducing friction points in the OS’s usage, eliminating clicks needed and making the OS less obtuse. You can read about all of these additions in the gallery below, or here on one page, if you’re curious to read about them all. If not, take my word for it: They all make things better.
What kind of sick fanboy would I be if I didn’t mention the imperfections?
Although it’s an Nvidia thing, Snow Leopard will not support H.264 decoding using OpenCL on cards more than a few years old.
And Safari 4’s ability to segment unstable browser plugins made itself useful when many more flash powered pages crashed in Snow Leopard than Leopard.
But that’s all I noticed. These things are not fatal flaws.
The changes here are modest, and the performance gains look promising but beyond the built in apps, just a promise. If you’re looking for more bells and whistles, you can hold off on this upgrade for at least awhile. But my thought is that Snow Leopard’s biggest feature is that it doesn’t have any new features, but that what is already there has been refined, one step closer to perfection. They just better roll out some new features next time, because the invisible refinement upgrade only works once every few decades.
Uses latent multicore and GPU power to speed up
the apps it comes with by relatively huge amounts
Costs $30 to upgrade
Still haven’t seen any third party apps
rewritten to take advantage of Snow Leopard’s speed yet
No major new functionality might turn off
*Performance Background: You May Skip This Section.
Today’s chips have hovered in the 2-3.6GHz range for some time, with gains in theoretical processing power made by increasing the number of CPU cores on one chip and optimizing the silicon in those cores. Think about it as roof shingles: It’s easier to protect your roof with lots of little shingles than one huge one. Unfortunately, the power afforded by the additional CPU cores has largely gone to waste, because it’s difficult to write code that takes full advantage of multiple cores. The programmer has to write the application in a way that breaks down large problems into multiple smaller problems (called threads), each of which runs on a single CPU core. The application then becomes a traffic cop keeping threads in sync. If any part gets out of sync, the app crashes or hangs.
This problem is made more complex because many apps are written with a maximum number of threads in mind. While some workloads, such as video encoding or photo processing can take advantage of many cores innately, most need to have some work done to add support for more threads, so future-proofing has been difficult. I don’t know if programming GCD is easier than straight-up multiple-core programming, but the key here is that Apple’s created a middleware that developers can write for, which automatically scales up to work with the number of CPU cores or other hardware in your system. The developer writes for GCD, while the system handles the gruntwork. Apple hopes more people will use this easier, more future-proofed way to tap into multiple-core power. Of course, no one has so far, except Apple programmers themselves. This explains why Finder, Preview and basically everything else that ships with Snow Leopard run faster. But in my tests, Photoshop, still a 32-bit program on the Mac and written without any support of GCD or OpenCL, showed less than 1% variation from Leopard to Snow Leopard. Still, as we can see from the system apps, there’s potential here. And let’s face it, the majority of us are not rendering Photoshop files all day, so this is performance you can put in your pocket today.
There’s a story of efficiency here, too, however. Because GCD is better at managing resources, a program like, Mail, for example, shows less system impact (thread usage, cpu usage) while sitting idle in Snow Leopard, than on Leopard. When testing OpenCL’s hardware acceleration, something Windows machines have had for awhile, by playing a 1080p trailer of James Cameron’s awesome new Avatar movie, CPU usage dropped drastically when machines were using the 64-bit CoreCL and GCD supported version of QuickTime. Any modern machine can play 1080p video well, but here, we were talking about Snow Leopard causing the strain on the system to take total CPU usage from 30% to 16% on the 13-inch MacBook Pros. Other apps will eventually be able to use these GPU superpowers, but what Apple claims is the real potential for GPU processing is that OpenCL will let computers use video cards for not only 3D acceleration, video encoding, and heavy math, but more general computing tasks, too, because its written in a non-specific (C-based) programming language.
Furthermore, there have been a number of good articles questioning the speed benefits of 64-bit computing. Apple only goes so far to claim that math-based tasks benefit from the larger bus, but generally the only concrete advantage of 64-bit computing is the ability apps gain to manipulate over 4GB of RAM, a 32-bit limitation. Apple’s dev docs go on to say that some apps will incur a penalty if going 64-bit. So, rewriting apps in 64-bit versions is not a surefire recipe for speed improvement.
In many cases, with many of the built-in apps, Apple attributes the performance improvements to all three core technologies above. That stuff that means not so much today, but might mean a lot tomorrow as GPUs get faster and CPUs gain more cores and there’s already an infrast
ructure in place to take advantage of all that.