Why is Linux faster than Windows? It's a very potent question which immediately stirs up a lot of debate, like we saw before. Some say its a myth. But most Linux users know it isn't, partially because almost everyone who adopted Linux were disgruntled Windows users once. But still, what makes Linux faster? I don't think many in the Linux community are aware of the exact reasons. I bumped up on this reddit thread recently which answers the whole why-linux-is-faster-than-windows question so eloquently. Here are the excerpts.
Why Linux is faster than Windows?
The Sticky comic featured above has a lot of relevance here because, the software/package management in Linux is far superior to what you have in Windows and that contributes hugely to the general snappiness of Linux based OSes. Now, let's get into the details. Excerpts from this excellent reddit post by redditor who is know by his pseudonym 'ok_you_win'.
image via sticky comics |
The Sticky comic featured above has a lot of relevance here because, the software/package management in Linux is far superior to what you have in Windows and that contributes hugely to the general snappiness of Linux based OSes. Now, let's get into the details. Excerpts from this excellent reddit post by redditor who is know by his pseudonym 'ok_you_win'.
- One of the more hidden benefits to linux is that applications share files better than windows. So instead of DLLs like in windows, linux uses .so files, or "shared objects". There are also .ko files, which are kernel objects, somewhat like drivers in windows.
- A Windows application might depend on a very specific version of a DLL. The person who writes the application doesn't know what version of windows you will be installing it on and if that particular DLL will be present in your system. So the easiest solution is to just include the correct DLL with the application. Effect: installers are much larger, C drive is fuller, and more ram is used.
- Linux does it differently. When you ask to install Midori web browser for instance, apt-get (or the software center front end) checks the package for a list of dependencies. Instead of including all the files, Midori just says what it depends on.
- So apt-get checks the system and sees that fileX.so.1 is already installed, which is one of the dependencies, so it doesn't need to fetch it from the central software repository. It then notices that Midori needs another file, which is not installed yet, so it checks the software repository for a version that matches, or one that is newer. It installs that. And so on. Once the dependencies are satisfied, it installs the application itself. Result: Software can be installed very quickly and doesn't take up as much space or ram.
- The apt-get system also keeps track of how many applications need fileX.so.1, so that if you remove Midori, it doesn't remove fileX.so.1, unless nobody else is using it. So Linux has pretty good house keeping skills.
One the most easy-to-comprehend explanation on the subject I have ever read. Of course that's not the ONLY reason why Linux is snappier than Windows. Some of the more technical side of things have been explained by an anonymous Windows Kernel contributor himself. But still, package management has to be one of the most important factor behind Linux's general snappiness, we believe. I know this topic is a pretty controversial one. Regardless, let us know your opinions in the comments below.