Linux Speed

technology: 

People keep telling me that Linux is faster than Windows but when I test Windows and Linux side by side with the same software and hardware configuration, performing the same work, there is little difference. Is there a speed difference worth pursuing? Updated for Ubuntu 10.10.

The reason people see a new Linux computer running faster than their old Windows computer is simply the fact that the Linux computer is not yet loaded with applications, files, and services chewing up resources.

A new Windows machine runs faster than the same Windows machine a few months later because the new machine does not yet have all the applications, services, and security rules in place. The same happens with Linux, a new Linux is fast then it slows down as you add services, applications, and load up files.

Linux servers tend to remain fast for a while because they default to installing the minimum. Windows defaults to installing everything you ever need plus everything you never need plus things you would rip out if you knew they were installed. In a Linux installation you are forever adding on extra bits that were not in the default installation while a Windows installation includes a long period of deleting stupid stuff that Microsoft stuffs down your throat.

Some of the recent Linux distributions have the best approach were you select the application groups you want then you select applications within the groups then you select packages within the applications. The application group selection is too broad but it narrows down the work. The application selection is ideal. The package selection is too detailed for beginners but gives you a lot to investigate as you learn about Linux.

The limitation of the new Linux structured installation approach is that you want to install everything and turn them on and off while you are learning about the applications. Windows has an equivalent installation structure at the application group and application levels but not at the software package level. Microsoft insists on burying bits of applications in the operating system and making you install a whole application to get one minor function in another application. When you delete an application you are not using, some totally unrelated application stops working.

The installation and processing time depend more on the options you choose than the underlying operating system. The most recent Linux installation procedures give you fine control over the installation process but not the configuration of the things you install. You still have to find out what each software package does and control the resource hogs.

Some Linux and some Windows programs give you fine control over what they do and how they do it. Some Windows and Linux programs abuse your trust and your computer. The result depends on the application developer, not the operating system.

My choice of Linux for Web servers is to do with the serious problems created by the Microsoft license enforcement software that makes all versions of Windows unusable from Windows XP onwards. Upgrading from Windows 2000 to Linux is safer than downgrading to XP. Performance is irrelevant once you learn to turn off the things you do not use.

Significant Times

Servers are restricted most by their processing speed while desktop and notebook computers are heavily restricted by their start up and shut down times. If a desktop will shut down then start up quickly, you turn it off when you go out for an hour but a slow starting computer will be left on all day even when not used.

Start Up Time

I tested two computers side by side, one Windows 2000 and the other Fedora 8 Linux. Both started up in the same time.

The Windows computer used to be slower then I switched off the security settings for every file in a directory where the directory sets the right security. The directory contained thousands of subdirectories with some subdirectories containing tens of thousands of files. When Windows pro starts up, it applies your security policy to every file and chewed up a couple of minutes on the one directory. I changed the contents of the directory to delete every individual security rule and just inherit the rules that apply to the main parent directory. At least two minutes disappeared off the start up time.

There was one USB device plugged in that I rarely use. The driver for that device must contain an error because it slows down the computer if left plugged in for a while. When I started the same computer without the USB device, the computer started noticeably faster and access to all USB devices doubled in speed.

Lots of applications start some sort of application boost software that slows down the start up while application modules are preloaded into memory then have to swap out to the page file. If you rarely use an application, remove the application start up step as it saves you nothing and costs a lot. What about those applications you do use a lot? The start up boost program is useless if you are going to immediately start the program.

Tune your Windows computer to remove the stuff you do not use then compare it to your Linux computer after you install all the things you need, there will be little difference in start up time.

Update October 2010. Ubuntu desktop edition 10.10 is significantly faster than earlier versions of Ubuntu. The switch from Ubuntu 9.4 to 10.10 produced a speed increase equivalent to the improvements from adding a RAM disk or moving your system files to an economy model solid state disk. I have one desktop running Ubuntu 10.10, with the system files on an SSD, along side Windows XP 64 on identical hardware. The Ubuntu start up is faster. Logging in to my account is slightly faster. Some desktop applications are faster. Either something in Linux is faster or one of the hardware drivers is far more efficient.

Processing Time

You can make Windows slower than Linux by switching on a graphically intense option. Linux has the same graphically intense options available and is equally slow when the options are switched on. Old distributions and server oriented distributions have the graphically intense stuff turned off by default and new Linux desktop oriented distributions have the graphically intense stuff turned on. Windows and Linux run at about the same speed on desktop computers.

You can slow down Windows by not installing enough memory. The default memory supplied with most computers is less than half what you usually need. A Linux box loaded with the same memory and applications will perform at the same speed. There is a difference in the way Linux and Windows react to memory shortages and that will alter the timing for specific applications, which means you can find one application that really performs under heavy load in Linux and drags behind in Windows, just as you can find many applications that scream along in Windows but bog down in an equivalent Linux system. I find Fedora 8 Linux slightly slower than Windows 2000 for desktop style program icon processing and Debian is slightly faster than Windows 2000.

ON a heavily loaded machine, Windows will proactively swap memory to disk while Linux reactively swaps memory to disk. You see Windows gradually slow down the way distance runners slow down when tired. Linux waits longer then suddenly stops the way sprinters stop when they use up their anaerobic capacity. Solaris seems to be the worst operating system for locking up instead of slowing down. I prefer the Windows proactive slowdown approach.

Windows servers are usually loaded with lots of different applications while each application is placed on a separate computer in a Linux environment. The Linux separate box approach is often faster within a computer but quickly overloads the network, demonstrating the fact that two applications can talk to each other faster if they are in the same computer. You can configure Windows to use the multiple separate application servers approach and you can configure Linux to use the all in one approach. You cannot compare the different approaches unless the workload is freely distributed over the same total memory, computing power, disk speed, the network has a low utilisation, and both systems are tuned for their respective configurations.

One of my Windows computers used to be slow until I switched off the annoying and useless Microsoft indexing service. Some Linux distributions install an equivalent indexing service but the Linux indexing service is usually switched off by default. Remember to remove the Windows bling before comparing Windows to Linux, just as you would install all the missing bits in Linux before comparing Linux to Windows.

Another invalid comparison is to compare a Windows 2000 Web server using IIS against a Linux Web server using Apache. You are comparing Apache against IIS, not Linux and Windows. Apache performs faster than IIS when you tune Apache but Apache on Linux does not perform faster than Apache on Windows when they are both tuned to the same degree.

Update October 2010. Linux used to struggle with graphics then GIMP arrived and supplied GTK to make life easier. Linux still trails behind in some areas of graphics because of the long lead times in small open source projects and the lack of manufacturer hardware support. Today there is a big revolution in the Linux graphics area. Qt. Qt was developed by Nokia for their mobile phones. Intel is now in bed with Nokia working on Qt. Linux applications are switching from GTK to Qt for their user interface and graphics rendering. With big companies and lots of money behind Qt, Linux can use Qt to stay up to date and possible ahead of Microsoft in the area of graphics.

Shut Down Time

I remember watching a demonstration of the first Macs. The sales person boasted about the Mac having a fast shut down time. He did not mention that in his demonstration, the Mac was set to not save any files when it shut down.

My production Windows 2000 machine shut down in the same time as my almost empty test Fedora 8 Linux despite my Windows 2000 machine having to shut down a long list of applications and services. If your Windows machine is slower than your Linux machine then your Windows machine probably has applications trying to save data before the shutdown. Compare Linux after you install and start the same range of applications.

One of my Windows machines did take a long time to shut down until I removed a USB device that caused all sorts of problems. At the time, I could not use that USB device with Linux because Linux did not have a driver for the device. Using a slow driver might be better than not having a driver.

Slow shutdown times are related to the applications and file system, not the operating system. The new Linux ext3 file system seems to produce snappier shutdown than Windows NTFS while the old Linux ext2 created serious start up disruptions that wasted far more time than ext2 ever saved on shut down.

Conclusion

The Linux one-application-per-server approach is a great idea but it does not work on desktop computers where you cannot have sixty computers to run sixty applications. Linux does not beat Windows when you have many applications active on one desktop computer. Choose Linux over Windows to reduce the time you spend managing licences, not processing time. (Update October 2010. Do compare Ubuntu 10.0 against Windows 7 on the desktop for speed.)

Comments

i had windows xp same computer i had instaled apache mysql and other web developer aplications i instaled almost the same aplications in linux and the sistem worked faster in reaction and on timing on the moment the desktop is on i automaticaly can launch an aplication in windows in about 30 seconds i' working on my computer and is faster then the windows version. i have fedora 8 instaled and really windows sucks and i don't think that somebody is going to unistall crap from windows to work fine. the instalation time of a fedora 8 sistem is faster then a windows xp sistem so what i got in plus? plus the fedora with the graphics on is faster then a windows with grafics on and i use the graphics a lot for searching the applications i worked with is a more faster way to work with lets say 4 desktop for me for you windows guy who know then to one desktop.

Fedora is similar to CentOS and I had a CentOS machine along side identical hardware running Windows 2000. Both used 20 to 30 seconds starting up, too long to be instant. The CentOS machine started only CentOS. Windows 2000 also started Apache and 20 Web sites in the same time.

When I logged into Windows 2000, Windows 2000 instantly started Thunderbird and the computer became totally responsive immediately after Thunderbird started.

The same login to CentOS produced a long sluggish period when CentOS checked for automatic updates. CentOS visited a very slow Web site to find the updates and the system was slow during both the search for updates and the application of the updates.

Microsoft no longer supply updates for Windows 2000 so I conducted a similar test on Windows XP. Windows XP is just as slow finding updates and just as slow applying updates but, while the search and updates are happening, I can perform useful work.

Functionally both Windows XP and Windows 2000 are similar to CentOS when installed with Gnome and all the desktop stuff. Linux has the advantage of providing software RAID on all distributions while Microsoft provide software RAID only in their server distribution. When I have problems with Linux software RAID and look in Linux forums, the first comment from Linux experts is "use hardware RAID". If I had hardware RAID on a computer then Linux would have no advantage in this area over Windows.

Linux has the advantage that I do not have to waste time looking through licences to see if I can use Linux on a given computer. I used to juggle 30 applications licences because commercial applications did the jobs I needed done. Now I use only a few commercial application because the open source applications are better. Some of those open source applications are faster than the commercial versions but many use Java and are far slower than any difference the operating system might make.

When I measure productivity at the keyboard, not when a particular screen pops up, but when can I actually start typing full speed, CentOS 5.1 and Windows 2000 come out the same. Microsoft software does contain speed bumps to slow things down but Java does far more damage to productivity. Linux and open source software also contain speed bumps and those bumps will be flattened out as more people work on the software. Your experience depends on the mixture of applications and services you use on top of the operating system. For the mixtures I use, Linux does not offer a speed advantage.