Making Operating Systems Faster
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."
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
So pretty much, Mac and Windows are made faster by using resources when they're not being used already. Not a genius idea, but the hard part is figuring out how to do that, which is what the article discusses.
What takes genius is getting every ounce of speed from a Linux or Windows box that can be a conglomeration of different motherboards, CPUs, graphics cards, hard disks, etc.
Gentoo Linux - another day, another USE flag.
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.
A love beyond compare...
upgrading from 2K to XP on the same hardware will slow you down. Upgreading from OS X 10.2 to 10.3 on the same hardware will give you speed improvements a majority of the time.
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.
Evolution or ID?
Of course one could argue that is worth making the GUI faster to give an apparent speed increase whilst allowing improvments in CPU/Disk to carry the rest of the OS. Then again of course I know nothing about system design
Rus
Cheap UK and US VPS
Hard Drive is the bottleneck........ Has anyone tried using a RAMdisk as their OS drive? I've read a lot and heard of people trying, but never come across a comprehensive how-to + review. With the amount of ram we can have nowadays (new pc's coming with 6 banks for dual-channel DDR), I'd pay $250 for an extra 2GB of ram in order to have my OS + key apps run off of that. Other solutions? (CF too slow?)...
Yes, but a 10,000 RPM SATA drive is so expensive! A 73.4GB Western Digital "Raptor" 10,000 RPM is the same price as a 250GB Maxtor MaXLine Plus II 7200 RPM.
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.
mbbac
Rewrite it!
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.
Please correct me if I got my facts wrong.
> What I don't want to see is them enabled/installed by default.
... and never buy it.
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?
Don't take my word for it -- take Ars Technica's review of Panther for example:
"Fundamentalism" isn't about divine morality. It's about human authority.
I mentioned the eye candy slowness recently, and somebody came back with a reply that made sense:
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
liqbase
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.
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.
Ya, benchmark after benchmark showed all of XP's IPC mechanisms to be much, much slower than previous releases. IIRC, several other subsystems were found to be slower as well. By those in the know, XP is widely regarded as Microsoft's slowest OS release in a long while. The only reason it's not widely realized is that machines constantly get faster and more memory is being used which hides the additional bloat.
Anyone that thinks MS' OS, as a whole, is getting faster with each release is simply not living in our reality.
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
Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
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.
This is your sig. There are thousands more, but this one is yours.
They are fine so long as they remain optional. There are times when a transparent window has functionality beyond just looking cool. The ability to see what's printed in the window behind the one you're typing into is useful when reading a manual (in the form of on-line help or a web page), and using that manual to decide what to type into an editor or shell prompt. (This is the same reason I hate systems that force the keyboard focus window to always be the topmost window. Ever since I first felt what it was like to have the two decoupled, using Sun's openView system in 1992, I never wanted to go back.)
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.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.