An anonymous reader writes "Phoronix has brought benchmarks comparing the FreeBSD 8.0-RC and Ubuntu 9.10 Alpha 6 operating systems. FreeBSD rather ends up taking a wallop to Ubuntu Linux, but there are a few areas where FreeBSD 8 ran well. They also posted benchmarks comparing this near-final FreeBSD 8.0 build to that of FreeBSD 7.2 to show performance improvements there but with a few regressions."
Actually, you'll probably do quite a bit of compiling in FreeBSD too. While you can pull binary packages, most people I know prefer to use a package manager like portsnap and compile source packages.
If you have a script to take care of compiling the common stuff, then just "make config" everything that need user input and let it fly. Granted, most servers I've used BSD on have been dual or quad core Xeon/AMD PC's with a fair bit of RAM, so it is overall a fairly quick process, though it was still not too bad on a few P4-era celerons.
The nice thing about FreeBSD source-compiled apps that I truly did love compared to BSD is the little tweaks you could do to avoid tons of crap dependencies. Debian used to be fairly "clean" as far as deps, but both Ubuntu and Deb are now getting quite ugly in that you get rather unwanted stuff in order to get the package you want. In most FreeBSD stuff, for example, I can check the "No X Server" box and happily compile my apps without any X support whatsoever. On Debian/Ubuntu I end up trying to install some CLI system monitoring tool or CUPS, whatever, and end up with a whackload of x.org stuff because it's tied to some font which is loosely tied to the actual package I'm trying to install. On Ubuntu desktops, trying to exorcize the demons of "Evolution" without having it remove other important stuff due to deps is near impossible. Sometimes there's a separate branch for a "cleaner" install, but often enough not.
Of course, BSD ain't perfect. Linux tends to have a lot of "new" stuff that BSD is a little more "conservative" in bringing into the mainline (iSCSI support for example was a fairly recent addition compared to 'nix), but overall the package system is powerful indeed.
Having not used Gentoo (yet) but knowing others who have, it seems like it might be somewhat similar in concept. The issues I've heard with are mostly in people getting to the up-and-running stage, but - similar to BSD - avoid annoying little conflicts or unwanted cruft is a lot easier than Debian/Ubuntu's precompiled binaries. Of course, I've also heard of much frustration in both if you have find halfway through a *long* compile that you missed something you should have flagged/included.
I'm sort of curious what the point is of comparing an alpha to a release candidate. Additionally it's a minor update versus a major update. Throwing in an older release makes it all the more pointless as I'm not seeing anywhere in the summary that they disabled debugging.
I must say that I'm really fed up with these sorts of benchmarks. They insult the intelligence of IT/technical people AND business people/endusers.
I need to find or create a site that actually benchmarks a variety of systems (windows/linux/unix/bsd) for ACTUAL scenarios that the users of the systems expect them to perform. Not sure how important LAME encoding is for BSD people - I know I don't use it for that. Not sure how many Ubuntu users run DB servers or firewall routers.
Can anyone point me to someplace like this? Someplace where I can see, for example, DB driven dynamic pages served per second - concurrent DB users, scalability to 4+ processors, etc?
I want metrics like SAN performance, DB performance, mail server performance, HA, clustering, firewall performance etc for server "distros" (Windows Server, AIX, Solaris, BSD, Linux, OSX Server) I want metrics like graphics benchmarks, app response time, those classic GUI task tests for desktop "distros" (Windows, OSX, Linux, BSD).
It annoys me that I see benchmarks that are so narrow and pointless. I can't make reasonable non-fanboy type comparisons when the benchmark doesn't include anything that matters to me.
I'm sort of curious what the point is of comparing an alpha to a release candidate. Additionally it's a minor update versus a major update. Throwing in an older release makes it all the more pointless as I'm not seeing anywhere in the summary that they disabled debugging.
Well, with the number of distros out there, it's inevitable that they'd leave out most of them. But I must admit that leaving out every other distro makes it kind of hard to know if Ubuntu is doing better than the pack or about the same.
It's kind of suspect, in my opinion, that the older release was doing so much better than the newer one, considering all the time that's been spent in recent times on optimizing various portions of the source. It's also worth noting that probably a much larger portion of the FreeBSD user base will recompile their kernel pretty much immediately with basic optimizations and removing the cruft that they don't need or want.
Is there any actual benefit to be gained from removing "cruft", other than saving a smidgen of memory?
Long, but not long enough answer:
Performance: Unless the cruft is a bunch of data or NOPs, it will be executed at some point, which is pointless (or it wouldn't be cruft.) And whether it's data or instruction, if "good" data is swapped out of the cache in favor of the cruft, then it will have to be read back in (cache misses).
I'm sort of curious why the slashdot story summary is so annoyingly biased in it's phrasing - "FreeBSD rather ends up taking a wallop to Ubuntu Linux, but there are a few areas where FreeBSD 8 ran well", when the arguably flawed test suite shows NO SUCH THING!
The FreeBSD system has very comparable or better benchmarks on nearly every metric in the test, just click through TFA and see for yourself.
Tripe.
Besides the needless and counterproductive bias, the phrase X "rather ends up taking a wallop to" Y is clunky and sophomoric. Editors, get a life.
It's interesting how on page 1, there are three graphs. Two of these are "lower is better" (where Ubuntu wins), however, when FreeBSD wins the graph is displayed in MIPS where "higher is better", thus appearing to make Ubuntu win there too.
If you're a casual reader not paying attention, reading, or clicking on to page 2 (and you know I'm right when I say that's most of the people reading this article), you can see where this is going.
The article is of little use other than tell the general populace of Slashdot that FreeBSD 8.0 and Ubuntu 9.10 are right around the corner, and that we should be hyped. Also FreeBSD 8 is a little faster than FreeBSD 7.2 but a lot slower than Ubuntu Linux 9.10
I'm not surprised, however I do belong to the group that does not really care about relative performance to other OS's as performance is only one of the aspects from the vector of decisions we had to make to finally choose FreeBSD for mass-scale deployment.
Also FreeBSD 8 is a little faster than FreeBSD 7.2 but a lot slower than Ubuntu Linux 9.10
Not disputing the conclusions of the memory, I/O benchmakrs, part of what they benchmarked is the compiler — FreeBSD's gcc-4.2.1 vs. Ubuntu's 4.4.1. I'm not surprised, GCC's newer release both compiles faster and produces faster binaries.
You could say, FreeBSD is at fault (and thus deserves bad rep) for including an outdated compiler, but, on the other hand, FreeBSD's choice may prove wiser, when bugs in the ho
FreeBSD ships with GCC 4.2.1 as the system compiler because it was the last release to be GPLv2 and GPLv3 stuff is not allowed in the base system. GCC 4.4 is in ports, and you can use this to compile ports easily by just setting a flag in make.conf if you care. FreeBSD 9 will hopefully be using LLVM/Clang as the system compiler, which should give it a nice boost.
Phoronix has a history of doing long and misleading benchmarks between Linux and *BSD/Solaris, where they manage to include so many extraneous factors that the results are meaningless.
Benchmarks are useless. There are way more important things to judge an operating system then "speed".
Does Ubuntu have nearly as good of documentation? No. It has that "info" nonsense.
Does Ubuntu provide a stable platform to build a server? No. It, like most linux distros, changes whole versions during updates. That isn't stable.
Does Ubuntu provide a way to strip itself down to the bare metal? Ain't as easy as the BSD's.
Is Ubuntu built around solid engineering and design, or politics? Depends--Ubuntu seems to be less afraid of the big bad FSF as other distros, but it still is steeped in an OS built for politics. FreeBSD is pretty tame and tends to focus on solid engineering rather than political maneuvering.
But really, Comparing FreeBSD to Ubuntu is like comparing OpenSolaris to Windows 7. FreeBSD is largely a server operating system were as Ubuntu is an end user operating system. And if you are comparing server operating systems, there are far more important criteria than "speed". Things like version stability are vastly more important.
Does Ubuntu provide a stable platform to build a server? No. It, like most linux distros, changes whole versions during updates. That isn't stable.
Ubuntu has LTS (long-term support) releases which are supported for 5 years on the server side. The last was 8.04 and the next will be 10.04.
I prefer RHEL/CentOS, however. I wonder how many people use Ubuntu LTS instead of using RHEL or SLES instead.
Does Ubuntu provide a way to strip itself down to the bare metal? Ain't as easy as the BSD's.
How often is this important? I can think only of a few situations, such as when fitting a system into a small/cheap flash.
But really, Comparing FreeBSD to Ubuntu is like comparing OpenSolaris to Windows 7. FreeBSD is largely a server operating system were as Ubuntu is an end user operating system. And if you are comparing server operating systems, there are far more important criteria than "speed". Things like version stability are vastly more important.
Ubuntu has a separate 'server' version (which really just includes a different set of packages and a different kernel build.)
How often is this important? I can think only of a few situations, such as when fitting a system into a small/cheap flash.
Its important to those of us that know by not including extra stuff on the machine, that extra stuff can not possibly be exploited, cause problems, waste resources or any number of other reasons that don't come to mind right at the moment. Including extra stuff is almost always a bad idea when you're doing a server. Desktops are a little different. Interestingly enough, Ubuntu is desk
1. Agreed, I think neither is really better and use depends on what you need, which of course some Linux and BSD zealots seem to disagree on - apparently the main free *nix are now entrenched enough to be part of the unix holy wars.
2. Varies, FreeBSD doesn't have perfect docs either and other distros do have better docs
3. Lrn2LTR
4. Yes, it does, there's a 10MB barebones installer for the dedicated and if you need less, pick another distro, even FreeBSD will probably be tons of tweaking at this point.
Speed is the most important factor for web-server scenarios, if FreeBSD can handle 10x more inserts into SQL-Lite then Ubuntu in the same benchmark, on the same hardware then Ubuntu is KO'ed by BSD in the server arena, no offense.
Hah, I see what you did there. You ripped on Ubuntu for being steeped in politics, while ignoring the available facts, i.e. that Ubuntu 10.4 is a stable Long Term Support release, and that it wipes the floor with FreeBSD 8.0 in performance.
That's pretty funny. I mean, if you did it on purpose.
Writing fast / optimized code doesn't mean writing hard to read code, it just means writing the best code.
That's just darling! For some reason, I picture you writing an MD5 library that keeps a hash table of inputs to their computed outputs so that you won't have to recalculate them. That'd be fast! And optimized!
When my friends ask me about Linux, I usually steer them toward Ubuntu first, as it's the most user friendly and well-supported distro out there. Canonical really puts a lot of development work into it, and it shows (in this result and many others). In the past, I usually avoided the Linux topic altogether, as there were so many confusing distros that even trying to explain the concept of Linux to non-geeks (and even many geeks) was a huge pain in the ass. So, I for one welcome our new Ubuntu overlords.
Wow, so I'm not the only one that doesn't understand the Ubuntu love-fest? I only tried it once (8.04 64-bit), but I got frustrated with it very quickly. For example, I logged in as a normal user (not root), selected the network configuration app from the menu, and was not prompted for the root password. Everything just came up ghosted and unusable. I tried to log in as root, but you can't do that ("admin not allowed to log in from this screen" -- is there some other screen that admin can log in from?).
Wow, so I'm not the only one that doesn't understand the Ubuntu love-fest?
This should be interesting... Someone who doesn't understand why everyone doesn't think alike.
I only tried it once (8.04 64-bit), but I got frustrated with it very quickly.
So we all know how qualified you are when it comes to unbuntu. I use 8.04 since it's the latest LTS version and I haven't had any problems with it. Your mileage may vary.
For example, I logged in as a normal user (not root), selected the network configuration app
It's fairly difficult to bungle traditional CPU-heavy loads. The kernel just needs to get out of the way and let userspace do whatever it wants to do. Try the same tests on Mac OS X and Windows (assuming they compile), and you'll see just about the same performance.
That's to be expected considering the defaults of ext4 vs ufs2. You can increase flush time on ufs2 and expect a similar increase. Revert to ext3 and it would be a completely different outcome. Interesting to see all the chest pounding on choice for default settings in a desktop enviro vs a traditionally server one. Would have been a been comparsion to use the upcoming PCBSD's release vs Ubuntu's, but we've seen the bias from Phoronix before.
Eight pages of bar charts, each gray-on-gray. On half of them, shorter bars mean better performance, on the other half, longer is better; the only way to know which is which is in a legend, written in a small font.
Here's a suggestion: color-code the bars! Green is good, red is bad, yellow is in the middle of the road. For bonus points, choose the saturation based on magnitude of the differences. If the numbers are close, go with grayer bars, if the differences are dramatic, use dramatic colors.
Finally, how about a line chart at the end showing all of the numbers in one place? Yeah, you'd need to convert everything to be consistent if longer or shorter is better, but that's a good idea anyway.
What I'd recommend for displaying this data is switching from charts to tables, and use alternating light green and white rows (little holes on either end for dot-matrix printer alignment optional).
I'm not a BSD user, but I don't see BSD taking a real kicking in these benchmarks. In the majority of the benchmarks, the average user could not discern a speed difference.
I'd actually like to see a chart with these types of performances going back a number of years. It would be interesting to see the difference between RH10 and the Latest Fedora release (assuming you could even get RH 10 to run on modern hardware without backporting drivers). Same wit FreeBSD.
NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW:
FreeBSD 8.x has many debugging features turned on, in
both the kernel and userland. These features attempt to detect
incorrect use of system primitives, and encourage loud failure
through extra sanity checking and fail stop semantics. They
also substantially impact system performance. If you want to
do performance measurement, benchmarking, and optimization,
you'll want to turn them off. This includes various WITNESS-
related kernel options, INVARIANTS, malloc debugging flags
in userland, and various verbose features in the kernel. Many
developers choose to disable these features on build machines
to maximize performance. (To disable malloc debugging, run
ln -s aj/etc/malloc.conf.)
Since the article didn't mention anything about disabling all the debugging options, I'll consider this an invalid benchmark until shown otherwise.
WITNESS and INVARIANTS were disabled on Sep 10 (http://svn.freebsd.org/viewvc/base?view=revision&revision=197065). FreebSD 8.0-RC1 was built on Sep 17th.
I which I'd seen this before I posted my last comment:
FreeBSD 8.0 vs. Ubuntu 9.10 BenchmarksFreeBSD performed awful in comparison to Ubuntu when doing random writes, where the latencies were extremely high and off the charts compared to Mark Shuttleworth's operating system.
How "awful" for FreeBSD and good for the OS that Mark wrote. My grammar and clarity aren't always perfect, but hey, I don't get paid to write this stuff.:-)
Yet again a benchmark against a pre-release version of FreeBSD where the testers didn't even bother reading the documentation. Anyone actually familiar with the FreeBSD development and release process would know that a release candidate has a considerable amount of debugging options turned on. This is to help diagnose any problems as the last issues are shaken out of a release, but has an adverse impact on performance.
Anyone actually familiar with the FreeBSD development and release process would know that a release candidate has a considerable amount of debugging options turned on.
Anyone familiar with the FreeBSD development and release process would know that there are no fixed rules rules when certain stuff happens and there are no sweeping changes like turning off debugging between a late RC and the actual release. (Other debugging stuff like ker
Actually compilation itself is a questionable benchmark due to all the variables you can't control. For instance, maybe the code contains pre-processor directives that result in entire modules not being compiled on one OS or the other? But if you're going to use it as an OS benchmark, you should at least use the same version of GCC.
The other dumb thing I often see are benchmarks using tasks that are single-threaded and almost entirely processor-bound. In other words, tests that are mostly useless for exp
Interesting comparison but the SQL test was a bit off testing a database installed on ext4, a journalling filesystem. Anyone wanting intensive database work would use ext3 for the DB partition.
Also, it would be interesting to see whether FreBSD still outperforms Linux in low-memory situations. This used to be an area where BSD had a clear advantage.
People mentioned the self-checks and debugging features that used to be turned on in FreeBSD development branches and beta releases.
Self-checks, which are the major source of kernel slowdowns in those kernel options, are not turned on in the 8.0 release candidates.
Debugging is on, but unless you are very short of memory it should not cause a noticeable slowdown.
FreeBSD's slowness in these benchmarks can be attributed to two factors:
1) the compiler. The GPL v3 is unacceptable for FreeBSD, so newest GCCs cannot be used as the base compiler. Users can choose to install a new gcc on their own (as a port) and then even go and compile all ports and even the base system with that new compiler (some parts might not have been cleaned up to comply with new language strictness that might have come with new gccs).
2) threading, as in the userland threading library support. It is very hard to tell whether there is some performance problem in FreeBSD's thread libraries or whether applications just happen to have been optimized and tested only with Linux.
That happens a lot and you can also see Solaris with it's M:N threading fail miserably for some threading benchmarks that do dump things, such as just creating and destroying threads at a high rate.
%%
The problem of "thread benchmarks" benchmarking bogus things and/or just having been written with Linux' thread model in mind has been going on for 12 something years now. Benchmarking thread systems in a realistic manner is very difficult. In real-world applications you don't create and destroy threads at a high rate and you minimize locking. Benchmarking this is almost as hard as benchmarking programming languages.
I haven't benchmarked threading libraries, knowing that it will take time that I don't have right now. I can tell you, however, that just the I/O subsystem in FreeBSD, as in filesystems and networking, isn't any slower than Linux. Not to mention GbE and today's disks are too slow to really show an OS difference for most tests anyway.
%%
The real question of I/O subsystems will come in when ZFS+Zraid is standard in FreeBSD and BTRFS is standard in Linux. In a couple of years from now nobody will understand why we ran today with no snapshots, with the raid hole (from block layer raid systems) and without transparent compression in the subtrees where we want it.
But these filesystems are complicated and there's some real performance difference visible.
%%
An area completely overlooked in the benchmark is the VM subsystem. Namely - what happens when you overload your RAM and paging commences? Linux used to make very bad choices here (dropping readonly pages, which is a wise thing as such, at rates about 10 times higher than wise).
FreeBSD used to be the go-to OS on memory shortage thanks to John Dyson's VM work (backed by a large database company that provided support and a realistic benchmarking environment during that development).
But today? Nobody knows. I'm not aware of any benchmarks that you can download that simulate memory stress and map the tradeoffs that the OS makes.
In general, the biggest obstacle to improve Linux, FreeBSD and everybody's else's OS performance is a lack of high-quality benchmarks.
Why don't people develop more benchmarks? Because they get annoyed that today, in 2009, no realistic OS benchmark will show a single number as a result. All OS benchmarks today can only make a map of what tradeoffs the OS chose, what part of the running application suite got the short end in favor of what other part. This isn't sexy and publishers don't like it.
People like reality reduced to single numbers, but in the area os OS benchmarks (and language benchmarks) that party is over.
Myself, I found myself gasping many years ago when I benchmarked network I/O versus userland CPU load. I hammered a couple of GbE interfaces while at the same time running moderate memory-intensive CPU benchmarks (with no network access from those CPU lo
What karma? You're already posting at +0, even with being a subscriber...
When there's something you need to do that can't be done with Windows but can be done with Lunix, keep in mind that you can do an even better job with Mac OS X.
Except true multitasking? That shared menubar seems to assume you're only doing one thing at a time, and Windows' lack of proper focus-follows-mouse (ie, without raise-on-click) likewise.
Some argue that BSD can do it better but no one makes software for BSD since no one gives a flying fuck.
I was under the impression that the BSDs could generally run Linux binaries (some sort of compatibility mode thing)?
With all seriousness in mind, BSD isn't useful for anything really.
What about as an embedded OS for consumer electronics?
freebsd is 100% binary compatible with linux. so even if you don't have the source or are too retarded to build from source yourself, the linux binary will run without issue or performance penalty.
i find it ironic that the gp talks about no one making software for BSD but cites Mac OSX as being his prefered option. what a fucktard....
Snicker. I love FreeBSD and run it on all the servers I administer, but the Linux compatibility stuff pretty much ends at usermode. Good luck firing up VMWare or anything else that requires an un-ported kernel module! In practice, every program I personally want to run on FreeBSD is available as a native binary or in ports, with the exception of programs that require kernel mods, in which case they won't work at all anyway.
You'll have to explain that to Codeweavers, the Win4BSD people and the other commercial vendors that make software for it. Sure there probably isn't as much stuff aimed at home users as for Linux, Mac or Win, but there is a substantial amount of commercial activity involved. It's odd that some random company would fund a new routing architecture if it's not useful for anything.
For this grant priveledge you get a meagre selection of hardware that will either gouge you or leave you wanting. You also get an alien environment with a number of annoying quirks and inferior package management to any Unix. Package managment is a "Unix thing" and not just a Linux thing. This is one area where MacOS demonstrates it's not really Unix.
Some of the proprietary tools you get with MacOS might be moderately more useful but they will have quirks of their own, suffer from NIH syndrome and may also suffer from addressing problems in a superficial manner.
Yes, because the masses of casual users struggling under the crushing weight of FreeBSD that was preinstalled on their PC will naturally flock to Ubuntu...
Let's see these against my Gentoo... (Score:5, Funny)
...once I'm done compiling.
Re:Let's see these against my Gentoo... (Score:5, Funny)
Parent
Compiling in FreeBSD (Score:5, Interesting)
Actually, you'll probably do quite a bit of compiling in FreeBSD too. While you can pull binary packages, most people I know prefer to use a package manager like portsnap and compile source packages.
If you have a script to take care of compiling the common stuff, then just "make config" everything that need user input and let it fly. Granted, most servers I've used BSD on have been dual or quad core Xeon/AMD PC's with a fair bit of RAM, so it is overall a fairly quick process, though it was still not too bad on a few P4-era celerons.
The nice thing about FreeBSD source-compiled apps that I truly did love compared to BSD is the little tweaks you could do to avoid tons of crap dependencies. Debian used to be fairly "clean" as far as deps, but both Ubuntu and Deb are now getting quite ugly in that you get rather unwanted stuff in order to get the package you want. In most FreeBSD stuff, for example, I can check the "No X Server" box and happily compile my apps without any X support whatsoever. On Debian/Ubuntu I end up trying to install some CLI system monitoring tool or CUPS, whatever, and end up with a whackload of x.org stuff because it's tied to some font which is loosely tied to the actual package I'm trying to install. On Ubuntu desktops, trying to exorcize the demons of "Evolution" without having it remove other important stuff due to deps is near impossible. Sometimes there's a separate branch for a "cleaner" install, but often enough not.
Of course, BSD ain't perfect. Linux tends to have a lot of "new" stuff that BSD is a little more "conservative" in bringing into the mainline (iSCSI support for example was a fairly recent addition compared to 'nix), but overall the package system is powerful indeed.
Having not used Gentoo (yet) but knowing others who have, it seems like it might be somewhat similar in concept. The issues I've heard with are mostly in people getting to the up-and-running stage, but - similar to BSD - avoid annoying little conflicts or unwanted cruft is a lot easier than Debian/Ubuntu's precompiled binaries. Of course, I've also heard of much frustration in both if you have find halfway through a *long* compile that you missed something you should have flagged/included.
Parent
What's the point. (Score:5, Insightful)
Re:What's the point. (Score:5, Insightful)
Just a plug for the Phoronix Test Suite?
Parent
Re:What's the point. (Score:5, Insightful)
I must say that I'm really fed up with these sorts of benchmarks. They insult the intelligence of IT/technical people AND business people/endusers.
I need to find or create a site that actually benchmarks a variety of systems (windows/linux/unix/bsd) for ACTUAL scenarios that the users of the systems expect them to perform. Not sure how important LAME encoding is for BSD people - I know I don't use it for that. Not sure how many Ubuntu users run DB servers or firewall routers.
Can anyone point me to someplace like this? Someplace where I can see, for example, DB driven dynamic pages served per second - concurrent DB users, scalability to 4+ processors, etc?
I want metrics like SAN performance, DB performance, mail server performance, HA, clustering, firewall performance etc for server "distros" (Windows Server, AIX, Solaris, BSD, Linux, OSX Server)
I want metrics like graphics benchmarks, app response time, those classic GUI task tests for desktop "distros" (Windows, OSX, Linux, BSD).
It annoys me that I see benchmarks that are so narrow and pointless. I can't make reasonable non-fanboy type comparisons when the benchmark doesn't include anything that matters to me.
Parent
Re:What's the point. (Score:4, Interesting)
I'm sort of curious what the point is of comparing an alpha to a release candidate. Additionally it's a minor update versus a major update. Throwing in an older release makes it all the more pointless as I'm not seeing anywhere in the summary that they disabled debugging.
They left out almost all distros, too.
Parent
Re:What's the point. (Score:5, Interesting)
It's kind of suspect, in my opinion, that the older release was doing so much better than the newer one, considering all the time that's been spent in recent times on optimizing various portions of the source. It's also worth noting that probably a much larger portion of the FreeBSD user base will recompile their kernel pretty much immediately with basic optimizations and removing the cruft that they don't need or want.
Parent
Re: (Score:3, Interesting)
Re:What's the point. (Score:5, Informative)
Is there any actual benefit to be gained from removing "cruft", other than saving a smidgen of memory?
Long, but not long enough answer:
Performance: Unless the cruft is a bunch of data or NOPs, it will be executed at some point, which is pointless (or it wouldn't be cruft.) And whether it's data or instruction, if "good" data is swapped out of the cache in favor of the cruft, then it will have to be read back in (cache misses).
Security: Bugs love to hide in cruft.
tl;dr version: Yes.
Parent
Re:What's the point. (Score:4, Interesting)
I'm sort of curious why the slashdot story summary is so annoyingly biased in it's phrasing - "FreeBSD rather ends up taking a wallop to Ubuntu Linux, but there are a few areas where FreeBSD 8 ran well", when the arguably flawed test suite shows NO SUCH THING!
The FreeBSD system has very comparable or better benchmarks on nearly every metric in the test, just click through TFA and see for yourself.
Tripe.
Besides the needless and counterproductive bias, the phrase X "rather ends up taking a wallop to" Y is clunky and sophomoric. Editors, get a life.
Parent
Careful manipulation of readership (Score:2, Interesting)
It's interesting how on page 1, there are three graphs. Two of these are "lower is better" (where Ubuntu wins), however, when FreeBSD wins the graph is displayed in MIPS where "higher is better", thus appearing to make Ubuntu win there too.
If you're a casual reader not paying attention, reading, or clicking on to page 2 (and you know I'm right when I say that's most of the people reading this article), you can see where this is going.
Summary (Score:5, Insightful)
The article is of little use other than tell the general populace of Slashdot that FreeBSD 8.0 and Ubuntu 9.10 are right around the corner, and that we should be hyped. Also FreeBSD 8 is a little faster than FreeBSD 7.2 but a lot slower than Ubuntu Linux 9.10
I'm not surprised, however I do belong to the group that does not really care about relative performance to other OS's as performance is only one of the aspects from the vector of decisions we had to make to finally choose FreeBSD for mass-scale deployment.
Re: (Score:3, Insightful)
Not disputing the conclusions of the memory, I/O benchmakrs, part of what they benchmarked is the compiler — FreeBSD's gcc-4.2.1 vs. Ubuntu's 4.4.1. I'm not surprised, GCC's newer release both compiles faster and produces faster binaries.
You could say, FreeBSD is at fault (and thus deserves bad rep) for including an outdated compiler, but, on the other hand, FreeBSD's choice may prove wiser, when bugs in the ho
Re:Summary (Score:4, Informative)
FreeBSD ships with GCC 4.2.1 as the system compiler because it was the last release to be GPLv2 and GPLv3 stuff is not allowed in the base system. GCC 4.4 is in ports, and you can use this to compile ports easily by just setting a flag in make.conf if you care. FreeBSD 9 will hopefully be using LLVM/Clang as the system compiler, which should give it a nice boost.
Phoronix has a history of doing long and misleading benchmarks between Linux and *BSD/Solaris, where they manage to include so many extraneous factors that the results are meaningless.
Parent
Re: (Score:3, Interesting)
Certain companies (Apple) have no-GPLv3 policies in place.
Benchmarks... (Score:3, Insightful)
Benchmarks are useless. There are way more important things to judge an operating system then "speed".
Does Ubuntu have nearly as good of documentation? No. It has that "info" nonsense.
Does Ubuntu provide a stable platform to build a server? No. It, like most linux distros, changes whole versions during updates. That isn't stable.
Does Ubuntu provide a way to strip itself down to the bare metal? Ain't as easy as the BSD's.
Is Ubuntu built around solid engineering and design, or politics? Depends--Ubuntu seems to be less afraid of the big bad FSF as other distros, but it still is steeped in an OS built for politics. FreeBSD is pretty tame and tends to focus on solid engineering rather than political maneuvering.
But really, Comparing FreeBSD to Ubuntu is like comparing OpenSolaris to Windows 7. FreeBSD is largely a server operating system were as Ubuntu is an end user operating system. And if you are comparing server operating systems, there are far more important criteria than "speed". Things like version stability are vastly more important.
Re:Benchmarks... (Score:5, Informative)
Ubuntu has LTS (long-term support) releases which are supported for 5 years on the server side. The last was 8.04 and the next will be 10.04.
I prefer RHEL/CentOS, however. I wonder how many people use Ubuntu LTS instead of using RHEL or SLES instead.
How often is this important? I can think only of a few situations, such as when fitting a system into a small/cheap flash.
Ubuntu has a separate 'server' version (which really just includes a different set of packages and a different kernel build.)
Parent
Re: (Score:3, Insightful)
Its important to those of us that know by not including extra stuff on the machine, that extra stuff can not possibly be exploited, cause problems, waste resources or any number of other reasons that don't come to mind right at the moment. Including extra stuff is almost always a bad idea when you're doing a server. Desktops are a little different. Interestingly enough, Ubuntu is desk
Re: (Score:3, Informative)
Ubuntu Server Edition does not install X by default
Re: (Score:3, Insightful)
1. Agreed, I think neither is really better and use depends on what you need, which of course some Linux and BSD zealots seem to disagree on - apparently the main free *nix are now entrenched enough to be part of the unix holy wars.
2. Varies, FreeBSD doesn't have perfect docs either and other distros do have better docs
3. Lrn2LTR
4. Yes, it does, there's a 10MB barebones installer for the dedicated and if you need less, pick another distro, even FreeBSD will probably be tons of tweaking at this point.
5. Poli
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Hah, I see what you did there. You ripped on Ubuntu for being steeped in politics, while ignoring the available facts, i.e. that Ubuntu 10.4 is a stable Long Term Support release, and that it wipes the floor with FreeBSD 8.0 in performance.
That's pretty funny. I mean, if you did it on purpose.
Re: (Score:3, Funny)
Writing fast / optimized code doesn't mean writing hard to read code, it just means writing the best code.
That's just darling! For some reason, I picture you writing an MD5 library that keeps a hash table of inputs to their computed outputs so that you won't have to recalculate them. That'd be fast! And optimized!
Ubuntu *is* Linux for a lot of people (Score:5, Interesting)
Re: (Score:3, Interesting)
Wow, so I'm not the only one that doesn't understand the Ubuntu love-fest? I only tried it once (8.04 64-bit), but I got frustrated with it very quickly. For example, I logged in as a normal user (not root), selected the network configuration app from the menu, and was not prompted for the root password. Everything just came up ghosted and unusable. I tried to log in as root, but you can't do that ("admin not allowed to log in from this screen" -- is there some other screen that admin can log in from?).
Re: (Score:3, Insightful)
This should be interesting... Someone who doesn't understand why everyone doesn't think alike.
So we all know how qualified you are when it comes to unbuntu. I use 8.04 since it's the latest LTS version and I haven't had any problems with it. Your mileage may vary.
For those that want to skim TFA for the bad result (Score:4, Interesting)
The areas where FreeBSD gets its ass kicked by Ubuntu start on page 7...
It seems to me like FreeBSD's real problem is incredibly bad I/O compared to Linux. The majority of the CPU-heavy tests were nearly neck-in-neck.
Re: (Score:3, Informative)
It's fairly difficult to bungle traditional CPU-heavy loads. The kernel just needs to get out of the way and let userspace do whatever it wants to do. Try the same tests on Mac OS X and Windows (assuming they compile), and you'll see just about the same performance.
Re:For those that want to skim TFA for the bad res (Score:4, Interesting)
That's to be expected considering the defaults of ext4 vs ufs2. You can increase flush time on ufs2 and expect a similar increase. Revert to ext3 and it would be a completely different outcome. Interesting to see all the chest pounding on choice for default settings in a desktop enviro vs a traditionally server one. Would have been a been comparsion to use the upcoming PCBSD's release vs Ubuntu's, but we've seen the bias from Phoronix before.
Parent
Truly crap-tastic charts (Score:5, Insightful)
Eight pages of bar charts, each gray-on-gray. On half of them, shorter bars mean better performance, on the other half, longer is better; the only way to know which is which is in a legend, written in a small font.
Here's a suggestion: color-code the bars! Green is good, red is bad, yellow is in the middle of the road. For bonus points, choose the saturation based on magnitude of the differences. If the numbers are close, go with grayer bars, if the differences are dramatic, use dramatic colors.
Finally, how about a line chart at the end showing all of the numbers in one place? Yeah, you'd need to convert everything to be consistent if longer or shorter is better, but that's a good idea anyway.
Re: (Score:2)
What I'd recommend for displaying this data is switching from charts to tables, and use alternating light green and white rows (little holes on either end for dot-matrix printer alignment optional).
BSD did rather well (Score:4, Interesting)
I'm not a BSD user, but I don't see BSD taking a real kicking in these benchmarks. In the majority of the benchmarks, the average user could not discern a speed difference.
performance over the years (Score:2)
I'd actually like to see a chart with these types of performances going back a number of years. It would be interesting to see the difference between RH10 and the Latest Fedora release (assuming you could even get RH 10 to run on modern hardware without backporting drivers). Same wit FreeBSD.
FreeBSD is still in debugging mode (Score:5, Informative)
From the update notes in /usr/src/UPDATING:
Since the article didn't mention anything about disabling all the debugging options, I'll consider this an invalid benchmark until shown otherwise.
Re: (Score:2, Informative)
WITNESS and INVARIANTS were disabled on Sep 10 (http://svn.freebsd.org/viewvc/base?view=revision&revision=197065). FreebSD 8.0-RC1 was built on Sep 17th.
Hard to take this seriously (Score:2)
I which I'd seen this before I posted my last comment:
How "awful" for FreeBSD and good for the OS that Mark wrote. My grammar and clarity aren't always perfect, but hey, I don't get paid to write this stuff. :-)
Phoronix? Moronix more like. (Score:5, Informative)
Yet again a benchmark against a pre-release version of FreeBSD where the testers didn't even bother reading the documentation. Anyone actually familiar with the FreeBSD development and release process would know that a release candidate has a considerable amount of debugging options turned on. This is to help diagnose any problems as the last issues are shaken out of a release, but has an adverse impact on performance.
Re: (Score:3, Informative)
Anyone actually familiar with the FreeBSD development and release process would know that a release candidate has a considerable amount of debugging options turned on.
On Sep-10, most debugging was disabled: http://lists.freebsd.org/pipermail/svn-src-all/2009-September/013399.html [freebsd.org]
On Sep-17, there was the last commit before 8.0-RC1: http://lists.freebsd.org/pipermail/svn-src-all/2009-September/013645.html [freebsd.org]
Anyone familiar with the FreeBSD development and release process would know that there are no fixed rules rules when certain stuff happens and there are no sweeping changes like turning off debugging between a late RC and the actual release. (Other debugging stuff like ker
terrible review methods (Score:4, Informative)
Re: (Score:3, Interesting)
Actually compilation itself is a questionable benchmark due to all the variables you can't control. For instance, maybe the code contains pre-processor directives that result in entire modules not being compiled on one OS or the other? But if you're going to use it as an OS benchmark, you should at least use the same version of GCC.
The other dumb thing I often see are benchmarks using tasks that are single-threaded and almost entirely processor-bound. In other words, tests that are mostly useless for exp
Interesting comparrison but (Score:2)
Also, it would be interesting to see whether FreBSD still outperforms Linux in low-memory situations. This used to be an area where BSD had a clear advantage.
Debugging/self-check in the FreeBSD kernel (Score:3, Insightful)
People mentioned the self-checks and debugging features that used to be turned on in FreeBSD development branches and beta releases.
Self-checks, which are the major source of kernel slowdowns in those kernel options, are not turned on in the 8.0 release candidates.
Debugging is on, but unless you are very short of memory it should not cause a noticeable slowdown.
FreeBSD's slowness in these benchmarks can be attributed to two factors:
1) the compiler. The GPL v3 is unacceptable for FreeBSD, so newest GCCs cannot be used as the base compiler. Users can choose to install a new gcc on their own (as a port) and then even go and compile all ports and even the base system with that new compiler (some parts might not have been cleaned up to comply with new language strictness that might have come with new gccs).
2) threading, as in the userland threading library support. It is very hard to tell whether there is some performance problem in FreeBSD's thread libraries or whether applications just happen to have been optimized and tested only with Linux.
That happens a lot and you can also see Solaris with it's M:N threading fail miserably for some threading benchmarks that do dump things, such as just creating and destroying threads at a high rate.
%%
The problem of "thread benchmarks" benchmarking bogus things and/or just having been written with Linux' thread model in mind has been going on for 12 something years now. Benchmarking thread systems in a realistic manner is very difficult. In real-world applications you don't create and destroy threads at a high rate and you minimize locking. Benchmarking this is almost as hard as benchmarking programming languages.
I haven't benchmarked threading libraries, knowing that it will take time that I don't have right now. I can tell you, however, that just the I/O subsystem in FreeBSD, as in filesystems and networking, isn't any slower than Linux. Not to mention GbE and today's disks are too slow to really show an OS difference for most tests anyway.
%%
The real question of I/O subsystems will come in when ZFS+Zraid is standard in FreeBSD and BTRFS is standard in Linux. In a couple of years from now nobody will understand why we ran today with no snapshots, with the raid hole (from block layer raid systems) and without transparent compression in the subtrees where we want it.
But these filesystems are complicated and there's some real performance difference visible.
%%
An area completely overlooked in the benchmark is the VM subsystem. Namely - what happens when you overload your RAM and paging commences? Linux used to make very bad choices here (dropping readonly pages, which is a wise thing as such, at rates about 10 times higher than wise).
FreeBSD used to be the go-to OS on memory shortage thanks to John Dyson's VM work (backed by a large database company that provided support and a realistic benchmarking environment during that development).
But today? Nobody knows. I'm not aware of any benchmarks that you can download that simulate memory stress and map the tradeoffs that the OS makes.
In general, the biggest obstacle to improve Linux, FreeBSD and everybody's else's OS performance is a lack of high-quality benchmarks.
Why don't people develop more benchmarks? Because they get annoyed that today, in 2009, no realistic OS benchmark will show a single number as a result. All OS benchmarks today can only make a map of what tradeoffs the OS chose, what part of the running application suite got the short end in favor of what other part. This isn't sexy and publishers don't like it.
People like reality reduced to single numbers, but in the area os OS benchmarks (and language benchmarks) that party is over.
Myself, I found myself gasping many years ago when I benchmarked network I/O versus userland CPU load. I hammered a couple of GbE interfaces while at the same time running moderate memory-intensive CPU benchmarks (with no network access from those CPU lo
Re: (Score:2)
My Karma is going to take a hit for this
What karma? You're already posting at +0, even with being a subscriber...
When there's something you need to do that can't be done with Windows but can be done with Lunix, keep in mind that you can do an even better job with Mac OS X.
Except true multitasking? That shared menubar seems to assume you're only doing one thing at a time, and Windows' lack of proper focus-follows-mouse (ie, without raise-on-click) likewise.
Some argue that BSD can do it better but no one makes software for BSD since no one gives a flying fuck.
I was under the impression that the BSDs could generally run Linux binaries (some sort of compatibility mode thing)?
With all seriousness in mind, BSD isn't useful for anything really.
What about as an embedded OS for consumer electronics?
Re: (Score:2)
i find it ironic that the gp talks about no one making software for BSD but cites Mac OSX as being his prefered option. what a fucktard....
Re: (Score:3, Informative)
freebsd is 100% binary compatible with linux.
Snicker. I love FreeBSD and run it on all the servers I administer, but the Linux compatibility stuff pretty much ends at usermode. Good luck firing up VMWare or anything else that requires an un-ported kernel module! In practice, every program I personally want to run on FreeBSD is available as a native binary or in ports, with the exception of programs that require kernel mods, in which case they won't work at all anyway.
Re: (Score:2)
Re: (Score:2)
Re:Sigh... (Score:4, Insightful)
You can only do an equally good job with MacOS.
For this grant priveledge you get a meagre selection of hardware that will
either gouge you or leave you wanting. You also get an alien environment
with a number of annoying quirks and inferior package management to any
Unix. Package managment is a "Unix thing" and not just a Linux thing. This
is one area where MacOS demonstrates it's not really Unix.
Some of the proprietary tools you get with MacOS might be moderately more
useful but they will have quirks of their own, suffer from NIH syndrome
and may also suffer from addressing problems in a superficial manner.
BSD is at least a proper Unix.
Parent
Re:Safe to assume? (Score:5, Funny)
Parent