Making Operating Systems Faster 667
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."
Reduce Bloat (Score:5, Insightful)
why does my 3ghz p4 choke on spellchecking a 50k doc with a 500mb text editor (Word2k3) ?
why does explorer choke on listing 10,000 files ?
why should i ever upgrade my word processing applications ? or can they type for me now ?
bah, innovation is dead, shame
pretty much (Score:4, Insightful)
10 steps (Score:0, Insightful)
2.
3.
4.
5.
6.
7.
8.
9.
10.
Comment removed (Score:3, Insightful)
Good basis of metrics for O/S (Score:2, Insightful)
After the government changes in the US and the DOJ is free to investigate monopolism in software again...
How hard would it be to make the case that consumers would be advantaged by gaining access to just a basic o/s?
It mightn't be easy because the courts are legal organs not technical forums, but with a disciplined argument based on metrics derived from the types of performance issues noted in the article... an articulate, intelligent lawyer might get this done.
Right?
Re:#1 thing Apple should do... (Score:3, Insightful)
You have to go through a bunch of settings to tweak it for "optimum performance" or whatever. Those should be enabled by default. The fancy stuff should be enabled easily but it should be up to the user to decide if they are turned on.
Re:One word: (Score:1, Insightful)
yeah, because 2 or 3 10krpm drives are much cooler than 1 15krpm drive. oh yeah, and if something's bound to disk I/O, RAM will not solve your problem.
Re:Faster? (Score:5, Insightful)
XP is CRAZY slower than 2k.
XP is faster to come up to the desktop. However, it is still busy accessing the hard drive and loading stuff in the background. You still have to wait for the OS to quit loading itself before you can use anything. Microsoft's claim that XP is faster than 2K was based on the time to desktop, apparently not time to usability.
Once loaded, XP has an annoying habit of wanting to refresh the desktop from time to time. That slows things down even more.
Finally.... (Score:1, Insightful)
XP and OS X difference (Score:5, Insightful)
I can see how they can write an artice about how apple did this but to claim that Microsoft does it too. I don't see how. Unless Microsoft has improvements but enough of the new things they add slow it down so much more the gain is outweighted by the loss.
Re:Am I Supposed To Be Impressed By Apple? (Score:3, Insightful)
No. What takes genius is getting every combination of different motherboards, CPU, graphic cards, hard disks, etc and make it *ALL* work flawlessly and without any configuration at all. Just plug it in, turn it on and it's ready.
No updating drivers. No having to check for incompatibilities between different mobos and wifi chipsets (or anything). It. Just. Works.
-Cyc
Apparent Speed (Score:4, Insightful)
Rus
Hard drive alternatives (Score:4, Insightful)
Re:Some tips on making your computer faster (Score:3, Insightful)
I don't know, but I ran Windows 3.1 on top of OS/2 3.0 and on a P133 and it worked perfectly, and its speed was acceptable. It must have run significantly faster on native DOS.
Re:One word: (Score:5, Insightful)
Maybe 10,000 RPM model would make a good boot drive with all of the home folders on the 250GB 7200 RPM drive. Then again, most file access would probably be from the slower drive. Eh.
How I would improve the speed of the system... (Score:4, Insightful)
This holds especially for applications, but it definitely applies to operating systems as well. Most modern software is simply bloated beyond belief.
BeOS, by all accounts, is a full-fledged OS, and it takes a Pentium (not Pentium 4, but original Pentium) 15 seconds to boot it, including the GUI. What's up with Windows and OS X taking over a minute on hardware that is several times faster?! On Linux, you could at least skip most of the init stuff and boot in seconds (likely mostly pauses that you have to keep for faulty PC hardware).
Then there's the libraries. glibc is well over 5 megabytes. You are not going to convince me that isn't bloatware. If all that code doesn't eat CPU time, it at least eats memory, which could lead to more swapping. GTK is also typical - ever resize a GTKWindow? It's visibly slow! That doesn't happen to Windows 3.11 on my grandpa's 486! What is that code doing?!
Applications... Firefox is what? 10 megabytes installed size? And that's a light weight browser. What? We need 10 megabytes on top of libc, X, and GTK for parsing a simple markup language and rendering those widgets? Excuse me! Even lynx is hundreds of kilobytes, and it mostly just reads data from a socket, strips the tags, and spits it straight out. What the fsck? Say "OpenOffice.org" or Java and I'll explode.
All we have today is bloatware. I'm *really* tempted to roll my own OS and applications, and I am going to have a shot at it this summer.
Re:#1 thing Apple should do... (Score:4, Insightful)
Let me guess, you don't sell OS's right? To move software, you have to have all the pretty stuff that makes it look nice ON by default. Because that's what the general population cares about. They'll look at it and say "Wow, that's ugly, what a crappy OS."
When it's pretty, *you* will say "Wow, that's pretty, but it's slowing it down, let me go into control panels, and registry settings, and god knows what else to tweak my settings while I overclock the damn thing and stick it in a freezer." Then you'll bitch about it on Slashdot. Which is exactly what's supposed to happen.
Because *they* don't know how to turn it on, and *you* do know how to turn it off. So the burden, by default, is on you. It sucks, but hey, what else is new?
Um, speaking of Mac OS, that's not true for it (Score:5, Insightful)
Don't take my word for it -- take Ars Technica's [arstechnica.com] review of Panther for example:
Re:#1 thing Apple should do... (Score:2, Insightful)
Re:#1 thing Apple should do...Copy Microsoft (Score:2, Insightful)
Re:#1 thing Apple should do... (Score:3, Insightful)
Windows's idea of eye candy was that menus (and submenus) would all slowly fade in. The process of navigating deep into hierarchical menus was maddeningly slow--at least until everyone turned it off.
In osx, menus appear immediately, and then fade out after you select something. This is not only pretty, but functional: it gives you visual confirmation that you've selected a menu item, which can be helpful if whatever you've asked for doesn't produce obvious or instant results.
the thread is Here [slashdot.org]
Re:#1 thing Apple should do... (Score:5, Insightful)
There are easier ways to enable these "features" than creating a ton of hoops for BOTH sides of users.
Instead of clicking through a bunch of menus, finding the options, selecting radio buttons, etc, just disable it by default and ask at install/setup time "do you want the 'pretty version'? Be warned that it may affect system performance."
I think that eliminates the problems.
Re:#1 thing Apple should do... (Score:3, Insightful)
If Joe Public doesn't see "improvements" in the next generation of OS (like transparent windows, integrated internet browsing, etc.), then MS isn't going to convince many people to upgrade.
(And yes, the typical
Re:Faster? (Score:4, Insightful)
Anyone that thinks MS' OS, as a whole, is getting faster with each release is simply not living in our reality.
Re:One word: (Score:3, Insightful)
When I click on Open Office or Netscape the CPU and I have to wait for the disk to finish the transfer before we can work. A 15k does it faster. The CPU cycles are wasted because on a desktop they're rarely used for something else. I'd agree with you if we were talking about a server.
It's not just startup times (Score:3, Insightful)
In linux, one of the things that makes it seems really lethargic is the lack of operator feedback. With even recent MDK and RH installs I notice the mouse cursor is frequently just sitting there doing nothing at all while the machine thrashes away at a task. Last week I was mutzing around with DiskDrake - I told it to create a 160GB encrypted partition and mount it. After several seconds the cursor stopped animating and the window became completely non responsive. I knew it hadn't crashed it was just busy waiting for the process to end and if I let it go it would eventually come back. About five minutes later it returned, filled in the empty white box and reported the task complete.
This kind of behavior in windows means "the task is dead, ctrl-alt-del and see if you can end the task." In linux it may not mean that at all - it may just mean "wait a minute I'm not done." But in either case it lessens the user experience and, in some cases, is downright confusing. And in most every case it's extremely frustrating.
This is the sort of thing I was talking about with suse. I'm not sure what switches were set where, but I've never seen the busy cursor lose its animation nor have I seen a busy window just quit responding. Even when the task takes a few minutes it remains well behaved on the desktop. This is the sort of polish that makes a computer feel "professional" and even "fast" - it doesn't have to get done this very second, but "at least act rational while you're doing it."
Re:You want fast! (Score:3, Insightful)
There's no point removing features to reduce the mythical "install bloat" if you can't actually do anything with the system.
Relying on shared libraries rather than stand alone binaries actually improves performance, by reducing memory usage when lots of processes use the libraries, and allows optimisations of the libraries to speed up all the apps that depend on them.
Small does not necessarily imply fast. For example, a project I work on was taking forever to open files (upwards of a minute for large files). So I implemented a custom memory manager that optimised block allocation for the application. The size of the program increased by 15% or so. Agghh! Bloat - must be slow, right? No, time to open files was reduced by a factor of 6.
Re:That's 2 words. (Score:3, Insightful)
And how is the performance compared to a system with 4GB of RAM in which the VM is left to its own devices?
There is no question that adding RAM makes a system faster. However, what is under debate is whether using RAM as a RAM drive instead of as cache is a better solution.
I liked another poster's suggestion of preloading the cache by cat'ing selected binaries to
I think there is plenty of room for improvement in the linux VM - however I must say I'm generally in awe about how smart it is already...
Re:Making Linux Faster (Score:1, Insightful)
-fomit-instructions is an old joke, but -09 marks you as a clueless ShitHead.
Most of the other stuff I agree with.
Have you seen the latest gcc optimisation? It's -fnew-ra, it uses a graph coloring register allocator. It's a bit buggy and only meant for testing, but I've benchmarked it on some simple enough fp code, and it does make it faster. It consistently gave a performance increase of about 20s -> 18s to run the loop.
life on the bleeding edge eh? Is it useful?
probably not, when the time wasted doing this shit won't be recoved by a faster running program...
Re:Hello? Linux, are you there? (Score:2, Insightful)
GCC
From my experience, as well as other articles I have read (there was a Dr. Dobbs article comparing GCC compiling performance and code peformance to MSVC6/7, BCC, Digital Mars, Open Watcom, and GCC was near the bottom on most benchmarks), GCC just ain't that great at producing really fast binary code, whereas MS has spent considerable effort to make their compilers produce very fast code for windows.
I'll bet that if a major effort were made to improve GCC code, then this might make a big difference.
Re:#1 thing Apple should do... (Score:5, Insightful)
I'm sure there are some consumers who buy windows based on other criteria, but the vast majority of windows purchases are as a consequence of compatibility. If the actual statistics showed only 99% of retail windows purchases were as a result of pre-installation, that's about 0.999% less than I would have expected.
$.02
Re:XP and OS X difference (Score:3, Insightful)
Perception is what matters. I enjoy working at a computer that feels fast and responsive. If a developer can hide time consuming activities so they occur at a time when I don't notice them, that is a significant improvement.
Two kinds of speed (Score:5, Insightful)
There are two kinds of speed: things that are fast and things that feel fast.
The article and the comments here on /. are mainly talking about true benchmarkable speed. Things that are fast.
But some apps don't really need to be fast. They just have to feel fast. This holds true for most interactive applications. It's all about psycholigy with this one.
Ever wondered why Windows Explorer builds up its icons from the right bottom to the top left? Doesn't matter in real speed, but it just feels faster. Your brain just isn't used to this flow: usually you read from the top left to the bottom right, or you read from the top right to the bottom left. Your eyes immediately focus on the spot your brain expects the icons to appear. But instead the appear in the opposite corner. By the time your brain figures out it has been tricked, the window is already full of icons.
More tricks: ever wondered why windows wastes memory by trying to have some free memory ready all the time? It makes starting new apps faster. But on average the system is slower.
In the Unix world there is only raw, benchmarkable speed. And that's why KDE and Gnome are slow. They aren't slow, they just feel slow.
OS are not slow (Score:3, Insightful)
Sure - speed is good,
But the speed of application is simply this - they must be fast enough to be tolerable - no faster.
customers are not going to choose a product which makes drastic speed enhancements at the expense of features - provided those features can be run at reasonable speeds on available hardware.
Rather - there are features out their waiting for hardware speeds to see the limelight.
Voice recognition is often touted as waiting for higher CPU speeds.
So is Live renderings - (when you watch a movie by rendering each frame in real time from the actor and motion files alone.)
Add to this teleconferencing, cryptography, etc
selling software amounts to a compromise of features to speed - and the right compromise is as close to the edge as you can get away with.
The guy with a two feature database that runs like bloody hell is not going to beat Access - even if it is occassionaly slower.
AIK
Re:XP and OS X difference (Score:2, Insightful)
You're comparing a major revision to a minor revision; 10.2 -> 10.3 isn't a major revision as I read it.
Upgrading from 2K to XP is like going from MacOS 9.x to OSX.
Going from OSX 10.2 to OSX 10.3 is like going from XP SP1 to XP SP2.
Upgrading from MacOS 9 to OSX on the same hardware will slow you down. Upgrading from 2k to XP on the same hardware will slow you down.
So what's the point of your observation exactly?
Re:That's 2 words. (Score:3, Insightful)
-matthew
Re:Some tips on making your computer faster (Score:3, Insightful)
Re:#1 thing Apple should do... (Score:4, Insightful)
What really bothers me, and it is the main reason I have stopped using Gnome, is this: Developers often assume that the moment the computers get fast enough that they can respond to fancy graphic requests using 100% of the CPU time, that this is the point where all reasonable people would stop complaining about the time they take up, and would be happy to have the little graphic toys unconditionally turned on at all times. This I call "bullshit". It's only when the fancy graphic requests end up taking a teeny, tiny fraction of the CPU time that it starts to become acceptable to leave them uncoditionally on.
I don't just want fast response from my UI when the system is under light load. I also want fast response from my UI when there's a runaway process I need to find and kill, or when I'm calculating some big raytrace in the background. So, yes, even in this day and age where you can't find a new computer with less than a Gigahertz clock rate, it is STILL worth it to provide the user with the ability to turn off features that require a good amount of CPU usage.
It's up to the owner of the computer to decide what to spend their CPU time on, not the maker of the UI.
Re:Some tips on making your computer faster (Score:3, Insightful)
Dare I ask what is the point of putting a 6.2Mpix pic on a 2.3Mpix (for the 23", in reality most macs are in the
Re:Some tips on making your computer faster (Score:3, Insightful)
Re:#1 thing Apple should do... (Score:3, Insightful)
I'm all for linux, but it's much easier to get windows to do what I want than linux. You can convince yourself the only people with windows are mindless sheep, but it's a very usable OS for lots of people. I use computers all the time (I'm a professional open-source-based developer), and I only use windows as my desktop (granted, my servers are linux). Every once-in-a-while I'll see how the alternative apps on linux are doing, but they're still behind. Heck, I'm using homesite 4.5.2 from 2000 and it's better than any editor I've found in linux.
I'm not having a go at linux, or trolling, but trying to make people understand that even though people here hate windows, it's still a very functional operating system. My desktop machine at work is up months at a time, rock-solid. It does dual-display (twin 19" tfts on one geforce4) out of the box. I know you can do everything it does on linux, but it takes longer and is more difficult.
I'm rambling. I'll shut up now.