In ancient times Linux was free and other Unix implementations were fast. With all of the effort that has gone into Linux over the decades, I’m wondering where the chips finally fell. Has the practical performance of Linux surpassed that of full-fledged commercial operating systems? As of 2008, IBM’s AIX was supposedly 5-10 percent faster (IBM Systems Magazine). Windows has near-infinite financial resources behind it but may be slower than Linux (source). Solaris circa 2013 was supposedly faster than Linux (throughput charts that are virtually impossible to read).
Maybe it doesn’t matter because development costs, available libraries and security patches, etc. are vastly more important. But it came up over dinner (time to find more interesting companions!) and now I am curious…
Related:
I work in high freq trading. People are counting nanoseconds now. Nothing except Linux is used by anyone for the last 10 years at least. Here’s your answer.
Same. Also work in the same space. Agree with Denis.
When it comes to low latency, you start bumping into extremely specific problems, and it becomes an art (more than a science) to end up with a functioning and manageable environment. Specific driver and firmware versions can have significant impact on latency. You run into problems like ordering a batch of servers (to augment an existing farm/cluster), and the NICs come with a slightly newer firmware, which also happens to have a bug that introduces occasional random 5ms glitches, *and* there is no way of downgrading the firmware. It’s also about the whole chain, so you find people are constantly hunting down that one last bottleneck, which is only just replaced by a new, slightly less-slow one.
But yeah, Linux won, for sure.
It’s a meaningless question. Linux is probably faster for many things, but some of this comes from unsafe defaults for filesystems and write-caches.
I personally am a fan of Solaris (Illumos and SmartOS, more specifically), but it has a “DCE cache” bug that leads to excessive memory consumption on web servers that service too many unique IP addresses (several hundred million a day in our case) and we ended up using FreeBSD on our front-end web reverse proxy tier. On the other hand Linux has user-mode networking functionality that allows people like Robert Graham of Errata Security to perform port scans of the entire Internet from a single machine with a 10G Ethernet adapter.
I don’t think there is any reason to exclude Linux from consideration for any application (apart from software that may only be available for Windows), specially now that ZFS is available. The rapid turnover of Linux versions means you need to invest in sound patching and software update processes, though.
I’m a government contractor. Some of my sysadmin buddies say the Solaris toolset — the utilities — are better integrated with the system, than what Linux provides.
Solaris may still have an advantage for scaling up vertically to a large number of cores.
Nikolai Bezroukov has published a very detailed, careful comparison at http://www.softpanorama.org/Articles/Linux_vs_Solaris/solarix_linux_mix.shtml
Ignoring the ecosystem of benchmarking tools and libraries for HPC (linux wins by far) does the OS matter anymore? Does Windows or anything else have a really bad thread scheduler or default memory allocator?
I think it’s *all* ecosystem concerns for devs. I can’t imagine any major OS vendors are doing anything egregiously stupid with regard to performance that will affect your non-gui executable. I think I’ve seen some Windows vs. Linux benchmarks and in the ensuing discussion it always turns out to be entirely about differences between the default memory allocators. Just use your own memory allocator and they become identical. I mean, you can even use your own TCP stack, which people do.
The amount of data which must be loaded off the disk to boot Linux can be so much less than alternatives, it can be very fast at booting. The alternatives require phoning home to look up special deals, promotions, upgrades, license keys, & update analytics databases before they can do anything. After booting, tight loops are probably identical.
It’s mostly the case that Linux just won.
For people who aren’t using Linux and aren’t just using Unix for legacy reasons, I hear about people deploying Joyent’s SmartOS more than Solaris lately: https://en.wikipedia.org/wiki/SmartOS
(Joyent seems to be where the best Solaris engineers went off to after Oracle bought it and everything went downhill fast.)
Where I work, we release our software on: Windows, Linux, AIX, and Solaris (we stopped supporting HP about 5 years ago).
Our customer base is roughly like so: Windows 40%, Linux 40%, AIX 15% and the rest are Solaris and HP. The motivation for Linux is cost and stability but Windows is catching up fast with ease of usage and stability. Customers who use AIX are hard core customers because AIX provides far more stability and better performance over Linux or Windows.
And I just came across and watched this recent TED talk which features Linus Torvalds: http://www.ted.com/talks/linus_torvalds_the_mind_behind_linux
http://www.top500.org/ lists of global top performing computer systems…. almost entirely Linux. Top 10 are Linux.
Probably the most massive single computer is https://en.wikipedia.org/wiki/Blue_Gene
which runs Linux on its central computing components and runs a sort of not and operating system on the compute nodes.
So, Linux won a long time ago.
The lines are further blurring, the upcoming Windows release plans to fully support Linux tools..
Windows Linux Tools will probably be about as useful as the NT Posix layer was.
Of course there have been UNIX and Linux tools on Windows practically forever, and even some UNIX design concepts in Dos and Windows implementations.
The problem is that Linux runs on inexpensive hardware, and many performance problems can be solved by either throwing inexpensive RAM or SSDs on it.
Is Solaris better at high-memory-pressure workloads where you need its excellent VM subsystem? Yes, but when you can just buy a 128GB RAM or even larger box and solve the problem using Linux it doesn’t matter as much. With Solaris you still have to worry about drivers for everything, while Linux runs on (almost) everything.
Is ZFS on Solaris much better than ZFS on Linux? Yes but with SSDs you probably won’t notice.