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."
optimizing Windows 2000/XP (Score:5, Informative)
Some tips on making your computer faster (Score:5, Informative)
2) Turn off some of the eyecandy. All those fades and whooshes and stuff don't actually do anything useful, they just consume CPU cycles and waste your time.
3) Use Ad Aware and SpyBot regularly to keep scumware out of your computer. I had to clean up a PC this morning which had stopped working because the BASTARDS at NewDotNet wrote some software which fucked the TCP/IP stack backwards.
4) Defrag regularly and run MSCONFIG to check what crap is sneaking back on to your Startup scripts.
BTW, Windows 3.1 sitting on MSDOS 6.2 ran like shit of a stick on my old P133. I wonder if/how it would run on a modern system?
I've got one word for you... (Score:3, Informative)
What distro are you using?
Re:Haven't read the article yet .. (Score:5, Informative)
Try running LinuxPPC on your mac some day, and you will see a huge difference in general snappiness.
I'm not saying OSX is un-usably slow, or even slow at all - heck my Rev. A tiBook, beaten and aged, is still all the computer I need, and I am very productive with it
On the register side of things, I can't for the life of me remember the full details, but I believe that the ABI for OSX only uses a sub-set of the PPC's full register set, and thus this means more swaps in/out
This is separate from AltiVec, which is an instruction set, not just a register setup
Missing Step (Score:5, Informative)
Stop adding services / features that are on by default, and you'll see a huge improvement in speed.
Re:Am I Supposed To Be Impressed By Apple? (Score:5, Informative)
Only one optimisation presented is related to hardware drivers, and it is cache of what kernel extensions will probably be loaded. Most of the optimisations (basically lots of caching and dynamic defragmentation) could be implemented in Linux, regardless of the amount of supported hardware.
Re:That's 2 words. (Score:3, Informative)
Re:That's 2 words. (Score:4, Informative)
Re:Faster? (Score:3, Informative)
If that's what you mean by "refresh", then that's actually Windows Explorer (which the desktop is an instance of) crashing followed by a background process realizing it died and starting it back up.
If that happens to you a lot then maybe you've installed some unstable shell extensions? Or maybe you're talking about something else. If it's specific to the XP theme I wouldn't know because I always revert to the "Classic" look first thing. The XP theme just looks like a cheap plastic toy.
Re:I've got one word for you... (Score:3, Informative)
A guide for gentoo, but the prelink program should be available for whatever distro you run.
Re:Some tips on making your computer faster (Score:5, Informative)
Most of that is handed off to the GPU via Quartz Extreme.
HFS Plus already does that for me.
Re:#1 thing Apple should do... (Score:4, Informative)
Re:Haven't read the article yet .. (Score:1, Informative)
This last number comes from ELF documentation. Typically, ELF loaders (ant least in NIX) use a GOT.
Re:How I would improve the speed of the system... (Score:1, Informative)
That said I just wanted to point out that installed size is not always a good indicator of "bloat." My example would be MS Office vs. OpenOffice. The hard drive requirements for MS Office 2003 is significantly greater than that of OpenOffice 1.1. However, OpenOffice 1.1 requires nearly 3 times as much RAM than MS Office performing the same tasks (or even none at all, sitting idle OpenOffice is a massive hog.) To me RAM real estate is significantly more precious than hard drive.
Now, you could use vi for your word processer and skip that "bloat" entirely, except that if that resume hit my desk it would meet the trashcan very quickly.
Macs used to be RAM disk bootable (Score:4, Informative)
Many moons ago, it was possible to make a RAM disk on a Mac, install an OS on it, and (warm) boot from it. It would remain in memory and work perfectly as long as the computer wasn't shut down-- it could only be restarted. I tried it once or twice just to check it out, and the computer booted and ran like lightning compared to the normal hard drive boot.
One of the utility suites back then (Central Point Utilities?) even had a feature where the machine would boot from a RAM disk with the utils on it, to fix the occasional really serious Mac problem.
Booting from a RAM disk stopped being possible after Apple made a hardware change in newer Macs that had the side-effect of making the RAM non-persistent through warm-reboots (i.e., your RAM disk would go bye-bye). I forget exactly when it happened... perhaps after the first generation of Power Macs, when they went from using NuBus to using PCI?
Here's another interesting fact. The Macintosh Classic, released in 1990, had System 6.0.8 (IIRC) burned into its ROM-- you could boot it disklessly from the OS in ROM by holding down Command-Option-O-X at startup. Nobody really knows what that feature was intended for.
~Philly
Re:#1 thing Apple should do... (Score:5, Informative)
more info (Score:3, Informative)
Comment removed (Score:4, Informative)
Re:That's 2 words. (Score:3, Informative)
Yup I have 2 copies of the apps in RAM. I have 4Gb of RAM, 2Gb of it as disk. My system doesn't swap, it still has 2Gb of RAM used as RAM and the performance is sensational.
Re:One word: (Score:5, Informative)
Most systems nowadays use a DMA-type system (Direct Memory Access) [pcguide.com] which streams data directly from disk to memory without involving the CPU much at all. The real slowdown is not the CPU cycles getting wasted, it's that the CPU can't work on the particular data you need until it is loaded. During the DMA loading process your CPU could be using tons of cycles on other tasks that are not waiting on data.
Smart read-ahead precaching and buffering attempts to ensure that your processes will not be data-starved. Yes, buffering can fall behind but overall it does considerably speed up a system.
Re:Haven't read the article yet .. (Score:5, Informative)
Mach-O the ABI (not to be confused with Mach-O the executable format, which is totally different) accesses global addresses via PC-relative addressing. This design decision was made back in the NeXT days, and made a lot of sense at the time. Unfortunately, the PowerPC doesn't have any support for PC-relative addressing, so the only way to do it is to use several instructions and induce a pipeline stall in the process. Depending on how a program is written, this problem can mean up to a 10% speed hit.
That is the only brain-dead decision in the ABI that I'm aware of. It certainly makes good use of all registers, intelligently defines leaf procedures, and in general makes full use of the PPC architecture other than that one problem.
Altivec includes both instructions and processors. That is one of the things that makes Altivec really cool, is that it has a shitload of vector registers that are totally separate from the other registers, and don't interfere in any way.
Re:Faster? (Score:4, Informative)
Um, no. XP gives you an 'Explorer just crashed' message when it tanks. Heh my coworker next to me is actually having this 'explorer likes to crash regularly' problem. When you lose your taskbar and all your icons in the system tray disappear, then you know Explorer has gone south and restarted.
Windows does have a 'refresh and rebuild the desktop' function. It's the same one they use to put your desktop icons back when you change video modes. (I.e. playing a game.) That's exactly what the person is describing.
Re:Apple II series rules on boot-up times (Score:2, Informative)
Re:#1 thing Apple should do... (Score:1, Informative)
Re:Sleep vs Hibernate (Score:3, Informative)
Re:#1 thing Apple should do... (Score:4, Informative)
Re:Apple II series rules on boot-up times (Score:4, Informative)
Re:Hello? Linux, are you there? (Score:3, Informative)
Furthermore, you assert that, "they are better engineered that the competition", which is completely false. It requires a superior engineered product to be crossplatform. In this case, IE has a speed advantage because it's NOT crossplatform, thusly allowing for more reasily available platform specific optimizations. It's also easy to forget that IE has less code, because it's far less compliant. Less code means less to load. Then, toss in the fact that significant portions of IE are cached by the OS during startup, gives IE a significant boon.
Long story short, MS has many built in baises for starting up their applications which most applications are not able to benefit from.
After that's all said and done, its the application performance, and not startup time that should really matter unless you're running a crappy OS. After all, these days, you should only need to start your applications once for the duration you're running your computer.
If you really think you're comparing apples to apples, then I think we all understand why most Window's users benchmarks are ignored for what they are; invalid.
Re:Sleep vs Hibernate (Score:3, Informative)
The APM hibernation that the laptop's own BIOS implements works fine in FreeBSD, though. Wish Windows didn't take over that functionality.
Re:XP and OS X difference (Score:4, Informative)
It's worth noting, if nothing more than FYI points, there are ways to drastically speed up Linux's start up times. They range from using LinuxBios to changing out the init scripts for scripts which are are to run highly parallel. Last I heard, the init scripts alone, take off 10s of seconds. It's just that people would rather have UNIX and Linux compatibility.
At any rate, I'm really not sure what you mean by, "USABILITY" being faster. If you mean the speed of the overall system as it relates to user responsiveness, then I suspect you have something wrong with your Linux configuration. Usabiity between the two systems should be equally high. Personally, my usability goes way down on Windows systems because it lacks so many of the powerful X features, out of the box anyways. But, I recognize that I'm not the typical win/linux user.
Lastly, I must say that I find it interesting that you find XP to be faster than 2k. XP is widely regarded as being slower (yes, with everything turned off) than 2k, as far as the user interface is concerned.
Some of these differences might center in how we're using our systems. My uses tend to be more of a workstation/desktop while you're may center completely around a MS-desktop solution.
More uninformed opinion on Slashdot (Score:5, Informative)
What fucking hoops?
Right-click My Computer->Properties->Advanced->Settings button.
Choose either "Best Performance" or "Best Appearance." Or check each option individually. What a non-issue.
If this was KDE, someone would have already answered with this, but because it's Windows, everyone just nods with the rest of the flock, "Baa, baa, yes, there are hoops to jump through, baa."
Speaking of KDE, talk about fucking hoops. You've got a completely horrible control center, with three different areas for changing the looks of things like window styles, widget styles, and so on. Why the hell isn't that all integrated into one configuration dialog? Oh, I forgot, ease-of-use is a criticism we only reserve for non-issues on the Windows platform like checking a radio button to get rid of a blue theme.
Re:That's 2 words. (Score:1, Informative)
Unfortunately, Mac OS X was a step backward in RAM disk technology on the Macintosh platform, and I don't think its possible to play this game anymore. Maybe power management has improved to the point where you wouldn't get much benefit out of it anyway. Anyway it was fun while it lasted.
AC.
Re:#1 thing Apple should do... (Score:2, Informative)
On WinXP
Right Click My Computer
Properties
Advanced
Settings
Choose Adjust for best performance OR
Adjust for best appearance OR
Custom
Re:One word: (Score:3, Informative)
Brother. There's something I forget to mention. - Pi Patel
Re:Faster? (Score:3, Informative)
This happens when you say, change your proxy settings (on or off, hit apply - bang, a refresh).
Re:FS Journaling (Score:3, Informative)
As you'll see from this benchmark [macnn.com] Apple's implementation of journaling has generally negligible effect on performance, and some operations do in fact run faster.
Vague Steps (Score:2, Informative)
What exactly is "overhead"? It just sounds like a vague claim that the system is "inefficient" and needs to be "optimized".
One advantage of XP over 2000 is that on XP you can disable the page file entirely, and Windows won't keep suggesting you enable it and/or complain because it's out of page file space (as happens if you set a 2 MB page file in 2000).
My 1.6 Ghz/1 GB/80 GB laptop with XP with no pagefile is much more "responsive" than my
1.6 Ghz/1 GB/80 GB desktop running 2000 with a pagefile. Windows seems to page memory to disk whether it's necessary or not; it will page out Thunderbird to disk, for example, just because it isn't the front-most application -- yet I have more than enough free RAM (let's say 256 in use, the rest used for buffers), the amount it saves by doing so is minimal at best. And I know you can set Thunderbird/Mozilla to stop Windows from paging it to disk, but should I have to do that for every app I want to use?
Re:#1 thing Apple should do... (Score:3, Informative)
Not true. The stripes are one graphic, yes. But metal windows are made up 9 graphics for the bevels, 1 more for the gradient, and another for the texture overlay. So a brushed metal window is actually rendering 10 more images than an Aqua window.
Re:That's 2 words. (Score:3, Informative)
My first everyday computer (meaning it might be working all day long) was a 12MHz 286 with 1mb on the motherboard and 2mb on a RAMcard, which was set up as a RAMdrive (and had capacitors that let the data thereon survive a reset). The RAMdrive was where all the daily work happened, and it made a fantastic difference in performance.
Another trick was using a RAMcard (which generally cannot be used as system RAM due to how the drivers worked) as Win16 swap space. In the era of slow HDs (then meaning somewhere around 1/100th of current disk speeds), that made a serious difference in performance.
Re:Apple II series rules on boot-up times (Score:1, Informative)
Re:More uninformed opinion on Slashdot (Score:4, Informative)
The thing that drives me nuts is the constant harassment when you first install Windows XP for taking a tour and signing up for a
Re:Faster? (Score:2, Informative)
Re:Some tips on making your computer faster (Score:3, Informative)
More digging indicates that these are a cache for the thumbnail images in the Desktop Pictures system preference. However the part about the desktop picture being stored on the GPU as a texture is still valid, as is the part about a 50MP image being no slower than a 50x50px GIF.
I routinely set large (50MB, layers) photoshop files as my backdrop out of pure laziness and experience no slowdowns whatsoever as a result. (on a 1ghz 12" powerbook, 768mb RAM)