Home > Benchmarks > One Benchmark Compares NetBSD 2.0 and FreeBSD 5.3 One Benchmark Compares NetBSD 2.0 and FreeBSD 5.3 Submitted by Tim Hawkins 2005-01-06 Benchmarks 60 Comments According to new benchmarks NetBSD’s performance has increased. In this benchmark NetBSD surpassed FreeBSD in nearly every test. About The Author David Adams Follow me on Twitter @david_adams 60 Comments 2005-01-06 6:35 am Good to see some (public) benchmarks finally coming out of BSD. I won’t be too hard on them for not comparing against Linux; I guess NetBSD’s biggest source of potential users is FreeBSD at this stage. 2005-01-06 6:46 am I have used slackware with pkgsrc packages (NetBSD’s ports, which is fully cross platform and works on linux, other BSDs, solaris, etc etc) as my main OS for as long as I remember, and a few weeks ago I decided to try switching to NetBSD since I loved pkgsrc so much. Completely amazing OS, nothing that I’ve used even compares. Reading the NetBSD man pages and source code is like looking at the Mona Lisa. The system is incredibly clean, it’s just amazing. The pkgsrc security features are incredible, one command will list all the software on your computer that’s known to have a security vulnerability! Want to rebuild the entire system from scratch with the latest version? Just run build.sh. It’s performance is incredible, the stability is top notch, and it’s just in general so much nicer than everything else. I consistantly got 5 more frames per second running doom 3 on NetBSD in linux-emulation mode than I got running it on Linux. And it has the best firewall too now, pf. However, there’s a bug in the 2.0 release which causes it not to be able to mount my iPod, so I think I’m going to have to go back to slackware . 2005-01-06 6:49 am Already sent an email to Gregory that asks him to provide details on WHAT architecture he tested as well as WHAT he did with the OS after install and IF he installed both fresh on the same system. Otherwise benchmarking can be quite meaningless in some areas (note that some graphs show the difference in algorithm clearly, O(1) versus O(n), but other values like context switching and all that depend on architectures used). 2005-01-06 6:56 am Already sent an email to Gregory that asks him to provide details on WHAT architecture he tested as well as WHAT he did with the OS after install and IF he installed both fresh on the same system. Otherwise benchmarking can be quite meaningless in some areas (note that some graphs show the difference in algorithm clearly, O(1) versus O(n), but other values like context switching and all that depend on architectures used). Err, he states it quite clearly: “The benchmark hardware was an Asus P4-800SE mainboard, Intel 3GHz P4 processor (1MB L2 cache) and 1GB RAM. Both NetBSD 2.0 and FreeBSD 5.3 default installations were used for the benchmarks. No custom kernels were used and no kernel tuning beyond the default installation was performed.” 2005-01-06 8:15 am I wanna see how linux 2.6 (and 2.4 for that matter) stack up. Everyone is always bashing linux for how slow it is compared to BSD. I would also wanna see how Win 2k and Win 2k3 stack up. And to the pkgsrc, ports, and gentoo people…. Debian rocks, and I would not trade it for any of your compile on your own distros. BTW Debian can do that to. (http://julien.danjou.info/article-apt-build.html, debtoo.org) 2005-01-06 8:31 am I wanna see how linux 2.6 (and 2.4 for that matter) stack up. Everyone is always bashing linux for how slow it is compared to BSD. Oh, I don’t think you’ll find many informed people making claims like that… and being able to substantiate. The free BSDs are often slower than Linux. They’re probably still faster at some things of course. I have a similar P4, 1MB, 3GHz system to the author. Here are some quick results with Linux 2.6.10. It gives you some idea that Linux isn’t being beaten badly (in these tests, at least). It isn’t true to say that these show Linux to be faster, because they were run on different hardware. benchmark (us) NetBSD FreeBSD Linux system-call overhead 0.368 0.393 0.285 context-switch 2.64 3.45 1.219 process creation (dynamic) 146 168 76 process creation (static) 63 80 43 process termination (dynamic) 43 64 n/a * process termination (static) 32 36 n/a * program load (dynamic) 463 1424 241 program load (static) 96 266 101 * I couldn’t find his sources for this test. ** The BSD results were taken from the website. The Linux results are not directly comparable!! 2005-01-06 8:36 am Blegh, if that was there when I read it like 3-4 times then I definitely was not awake yet. 2005-01-06 8:59 am It is a good thing to see this kind of research. I also would like to see the differences between schedulers on FreeBSD. Benchmarking shows to the developers were the system can be improved. keep up the good work 2005-01-06 9:01 am NetBSD has better direction than FreeBSD nowadays 2005-01-06 10:17 am ANyone know how Dragonfly BSD compares? or even the old 4.10? 2005-01-06 11:14 am Although NetBSD 2.0 has outperformed FreeBSD 5.3 in most of the benchmarks presented here, FreeBSD 5.3 has made significant developments with its symmetric multiprocessor (SMP) architecture, particularly in the area of scalability with fine-grained locking. NetBSD 2.0 continues to use a single lock to serialize access to kernel mode. well after all they’re both UNIX!NetBSD should improve the SMP architecture. 2005-01-06 11:16 am IIRC FreeBSD focused a lot on SMP. If you look at the previous link about NetBSD 2.0 technology, they still use a “big lock” while FreeBSD has much fine-grained locking which should make FreeBSD much better suited for multiprocessor workloads 2005-01-06 11:39 am However, there’s a bug in the 2.0 release which causes it not to be able to mount my iPod, so I think I’m going to have to go back to slackware . Rather than switching back to slackware why don’t you file bugs and help test, or even attempted to fix it yourself? That’s what community software is all about. If you love it, you get stuck in when there’s an issue and help (by being part of the process or by coding) improve it. 2005-01-06 11:41 am We switched last year all our computers from Linux to FreeBSD, and we’re all happy Powerful and easy to use. 2005-01-06 12:24 pm Rather than switching back to slackware why don’t you file bugs and help test, or even attempted to fix it yourself? Not meant to be troll or offensive, filing bugreport is the right thing to do, but expecting non-programmers (users) to try fixing kernel bugs written in C is kind of stupid. 2005-01-06 12:30 pm No, Sir,there are many obstacles there if you want to help. May be this is going to be OT but I have to say(write) it: I have reported a bug in Ubuntu in that X crashed many times on my low-performer machine. A very mysterious thing as I always powered this machine with Debian-Testing and using Gnome. So I wrote to the ML. And I was eager to help with data about my hardware and ready to test again and again the incoming “bug-fixes”. The only two answers I got were: 1) “Your HW is maybe out-of-order” 2) “Please, post with your real name” No, Sir, there are great obstacle to overcome if you want to help with filing bugs. 2005-01-06 12:36 pm An email about this benchmarking was just sent to the firstname.lastname@example.org mailing-list. I often don’t charge benchmarks seriously. But they sometimes help us reviewing the result and make the thing be better. Anyway, a good full benchmark is prefered, and I’m looking for this 2005-01-06 1:30 pm It would be very interesting to see an update to F. von Leitner original Benchmark: http://bulk.fefe.de/scalability/ Is he around? 2005-01-06 2:10 pm I was wondering the same thing Joao. Some of the stats look like they were used off the original posting: http://bulk.fefe.de/scalability/ Also there was no mention (perhaps I missed it): 1) Default file system (ufs, ufs2) w/or w/out soft-updates. 2) Any kernel tweaking or adjustments to sysctls. This is by no means trying to slam *BSD or the report. I would just like to know more of the details. 2005-01-06 2:14 pm First of all, I think both FreeBSD and NetBSD are great OSes. IMO, FreeBSD made a mistake by labeling 5.3 as STABLE. So far FreeBSD with the 4-branch has had a great reputation for stability and performance, and the 5-branch is just not there yet. By labeling 5.3 as STABLE, The FreeBSD team has led their users to have higher expectations than they have so far delivered. The move to label 5.3 as STABLE seems to me more market-driven than technology-driven. The long development time of the 5-branch and the clamoring of users for an updated OS that keeps up with the competition (Linux) has caused the FreeBSD team to rush the 5-branch out of the door before it is ready. This is unfortunate because it spoils FreeBSD’s reputation and reputations are more easily spoilt than built. Technology releases should be made when the technology is ready, regardless of how many people shout and cry. Further, given the solid reputation of the 4-branch, I think they could have afforded to keep the STABLE release on this branch a while longer. By labeling it LEGACY, they have created a perception that somehow this branch is outdated, leading more users to install the not quite stable 5-branch and be dissapointed. I think FreeBSD has about a year to fix their stability and performance problems before their users start looking for greener pastures. I sincerely hope that they are able to resolve their issues and FreeBSD becomes again rock stable. 2005-01-06 2:25 pm read the acknowledgement and bibliography part of this new benchmark, the Fefe benchmark code was a subset of this new one: Acknowlegment ============= “The scalability benchmarks were supplied by F. von Leitner” Bibliography ============ 2. F. von Leitner, “Benchmarking BSD and Linux”, http://bulk.fefe.de/scalability/, October 2003. 2005-01-06 3:25 pm These results aren’t really surprising, except for maybe the ones about scalability of process creation. FreeBSD 5.3 is highly likely to be slower in these things by a constant factor, since it’s fine-grained support for SMP exacts a performance penalty on single-CPU hardware. The much simpler lock model which NetBSD uses (a single global lock), requires much less overhead in the single-CPU case (indeed, no overhead in the single CPU case), but is much less effective for taking advantage of multiple processors. 2005-01-06 3:32 pm Funny, it’s this Tim Hawkins guy posting again. His HawkinsOS is based on FreeBSD so why does he post this article? 2005-01-06 3:44 pm IMO, FreeBSD made a mistake by labeling 5.3 as STABLE. It sounds like you’re confused on what the STABLE branch is all about in FreeBSD. They use the STABLE branch to produce snapshots AKA releases, and it’s always been considered a development track. The 4.x release series hasn’t gone anywhere, so if you’re concerned about stability, you can always stay with that. It’s still actively supported and maintained and probably will be at least until the 5.x branch is “rock solid”. Here’s an excerpt from the FreeBSD handbook describing the STABLE branch. FreeBSD-STABLE is our development branch from which major releases are made. Changes go into this branch at a different pace, and with the general assumption that they have first gone into FreeBSD-CURRENT for testing. This is still a development branch, however, and this means that at any given time, the sources for FreeBSD-STABLE may or may not be suitable for any particular purpose. It is simply another engineering development track, not a resource for end-users. 2005-01-06 3:52 pm Working on it. 2005-01-06 4:05 pm FreeBSD-STABLE is our development branch from which major releases are made. Changes go into this branch at a different pace, and with the general assumption that they have first gone into FreeBSD-CURRENT for testing. This is still a development branch, however, and this means that at any given time, the sources for FreeBSD-STABLE may or may not be suitable for any particular purpose. It is simply another engineering development track, not a resource for end-users. Ummm…their misusing the word “Stable” aren’t they? I mean, so what is their current “stable” release? “Legacy”? So: Legacy = Stable Stable = Development Current = Testing ? 2005-01-06 4:28 pm Can you explain to me how in the world do you run Doom3 on NetBSD, when NetBSD doesn’t have DRI support yet? I love NetBSD and it should surprise nobody that it’s faster and better than FreeBSD 5. 2005-01-06 4:41 pm <I/>…their misusing the word “Stable” aren’t they?[/i] No, what 5-STABLE means is that it is ABI-stable i.e. the application binary interfaces stays the same. This mean that you can update between the different releases made from 5-STABLE withour recompiling your applications. Those applications (often custom modified to suit your needs) may rely on calling system functions that then stays the same. Stable as in crash-proof is something that depends on the quality of the hardware it is being used on and the quality of 3rd party software. Just check the sourcecode for various cheap hardware drivers in just about any opensource OS. This applies to every and all OSes including Windows. Use it on crap hardware will yield crap stability. Use apps with bugs => same result. 6-CURRENT (aka HEAD) is where all major development is being done and tested. In here the ABIs can and will occasionaly break. This will give birth to 6-STABLE when the major work is considered finished and no further ABI changes is considered as needed for the duration of -STABLE. Features/improvments/fixes in 6-CURRENT that can be merged to 5-STABLE witout breaking the ABI will often be merged from current (MFC:ed). 5-STABLE is the development branch from which the 5.X releases are coming from and thus is ABI stable. 4-STABLE is now considered legacy and is put in bugfix/patch mode only and 4.11 is most likely the last “major” release on that branch (please spare the DFly comments on that one please). Releases, ex 5.3-RELEASE, are periodically snapshots/forks of their -STABLE branch that are refined and extra care taken to test for bugs making them a bit more suitable to install as a new system. Once more experienced with the system perhaps an upgrade to 5-STABLE from 5.3-RELEASE may feel nice (as is have bugfixes in drivers etc) and this can then be done without recompiling the ports. 6-CURRENT should not be used unless somewhat more experienced, a bit of interrest in testing new code etc and learning to read before asking help (that advice is ONLY for 6-CURRENT users and posters of “questions better answered elsewhere” in freebsd-current@). 2005-01-06 4:55 pm Ummm…their misusing the word “Stable” aren’t they? I mean, so what is their current “stable” release? “Legacy”? RELEASES = snapshots of the STABLE branch that are thoroughly tested STABLE = relatively stable but may have bugs 5.3 is the lateset release which means it won’t change much except for bugfixes, security updates, etc. You can track RELENG_4_10 if you’re running the space shuttle, life support systems, or missile defense systems. Contrary to the above post, 5.3 wasn’t rushed out the door. It actually took a damned long time for it to come out, and the FreeBSD dev team is always very prudent with releases. 2005-01-06 4:58 pm read the acknowledgement and bibliography part of this new benchmark I read that, I was looking for the link to F. von Leitner benchmark and I saw it there. The point of mentioning F. von Leitner benchmark was that it compares more OSs, rather than just FreeBSD and NetBSD. 2005-01-06 4:59 pm I see now that freebsd 5 Does not support the computers that have a 386 cpu in them why dont change it from i386 to i486. Im assuming the 486 runs freebsd ok 2005-01-06 6:16 pm I don’t know the details but “i386” covers more than just 386. Its the whole family or something. That means 486 is still i386. So is a pentium and so on. 2005-01-06 6:19 pm This Tim Hawkins guy seems to have a beef with FreeBSD. Every site i go to he is busy slamming freeBSD. People should question his postings thoroughly. I just installed FreeBSD + GNOME on an AMD64 box. Fastest single processor system i’ve ever sat in front of… 2005-01-06 6:38 pm Do you enjoy making things up? 2005-01-06 9:25 pm I don’t know the details but “i386” covers more than just 386. Its the whole family or something. That means 486 is still i386. So is a pentium and so on. the 386 was the first IA32 32-bit processor the architecture hasn’t really changed much since then. The main reson i can figure the reason they do not support the 386 is becasue there were verisons made without a built in math coprocessor aka 386SX of which some you could add an optional 387 math co-processor there were version later the 386DX that had intergrated math coprocessors however by that time intergrating math coprocessors was pretty much standard ala 486DX line 2005-01-06 9:46 pm IIRC, cmpxchg instruction was first added to i486. It supports atomic read/write, which help to get a really fast mutex implementation. SMPng and KSE should rely heavily on mutex. 2005-01-06 10:19 pm Can you explain to me how in the world do you run Doom3 on NetBSD, when NetBSD doesn’t have DRI support yet? I love NetBSD and it should surprise nobody that it’s faster and better than FreeBSD 5. The FreeBSD nvidia drivers work in FreeBSD emulation mode. Do you enjoy making things up? Care to elaborate, or just act like an idiot? 2005-01-06 10:41 pm the 386 was the first IA32 32-bit processor the architecture hasn’t really changed much since then. The main reson i can figure the reason they do not support the 386 is becasue there were verisons made without a built in math coprocessor aka 386SX of which some you could add an optional 387 math co-processor there were version later the 386DX that had intergrated math coprocessors however by that time intergrating math coprocessors was pretty much standard ala 486DX line FYI, no 386 chip had a built in coprocessor. The distinction between the 386SX and 386DX was a 16 bit vs 32 bit external bus (internally both chips were 32 bit, although IIRC the 386SX could only had a 24 bit address space). You are thinking of the difference between the 486SX and 486DX, which had no coprocessor (or it was disabled) and a coprocessor, respectively. I should also point out that FreeBSD 5.3 *does* run on a 386*DX* (support for the 386*SX* was dropped at 5.2), there just isn’t support for it in the default GENERIC kernel. If you want to run FreeBSD 5 on your 386 for some crazy reason, you just need to compile a special kernel. 2005-01-06 10:42 pm No 386 had a built in math coprocessor. The 386SX had a 16-bit external bus. It was intended as a cheap hack to compete with all the clones of the 286 that were on the market at the time. Some of them were getting really fast for the day, i.e. 16MHz or more, whereas Intel’s 286 only ran at 8MHz and thus couldn’t compete, and the 386DX couldn’t compete pricewise. The 386DX had a 32-bit external bus. There were external math coprocessors made for both, including clones made by Cyrix which were much faster then the Intel ones. BTW, 386SX came after the 386DX. This nameing convention changed when the 486 was introduced. In the 486 line, the 486SX didn’t have an internal math coprocessor. There wasn’t a true external math coprocessor as such. The 487 was just a 486DX with an extra pin that signalled the motherboard to disable the on-board processor. Many motherboards simply put the main processor in a socket, so you could yank out the original 486SX and install a 486DX. The 486DX did have an internal math coprocessor. With the advent of the Pentium line after the 486 line, all processors have had internal math coprocessors. 2005-01-06 11:52 pm bzzt, the i386 has a MMU, but not a maths co-processor, that’s the i387. Same for i486SX, it’s a crippled version without fpu unit. The i386 was a total joke when you compare it to what the other manufacturers were offering. 2005-01-07 12:43 am Nostalgia in the i386 arena 2005-01-07 1:32 am Sure I have been.. the 4.x series had something called a big giant lock…. 5.x is working to remove it and it still hasn’t been removed good enough in my opinion.. looked like they were just doing quick fixes there for awhile. i love freebsd though but it’s clear why dragonflybsd was created and it’s a good idea The only place where I brought up anything related to freebsd is on OSNews and The freeBSD mailing list 2005-01-07 2:26 am According to new benchmarks NetBSD’s performance has increased. In this benchmark NetBSD surpassed FreeBSD in nearly every test. This sort of announcment is bound to attract trolls and flames. Important detail: it is a microbenchmark, which is all over the place, yet submitter forgot to mention it (why?). Quote rwatson: …the performance optimization on FreeBSD for the last few years, with features like SMPng, libpthread, and UMA, has been focussed on macro performance not micro performance… Also, some a bug was identified in UP kernels that adds almost a hundred cycles to every mutex release operation, which may play a significant part in these results. Read the entire rwatson article here. Note to trolls: read it before you post. it’s not about side-stepping the issue, freebsd devs take the matter seriously. It’s about clarifying a few things. NetBSD outperforms FreeBSD is clearly FUD. NetBSD outperforms FreeBSD in certain microbenchmarks is true – and is being taken seriously: http://lists.freebsd.org/pipermail/freebsd-performance/2005-January… Also, I switched to -STABLE a month ago on my home puter, and a week ago on a server, and I already see some improvements (not on the server, which performed fairly well – or rather, it’s not as much a high traffic server as to measure the performance gain, but on the desktop – especially in interactivity). Also, this is presumable from Jess, and it isn’t a week old: Most of the changes were just cleaning up after some commits that I wasn’t around to take care of during the 5.3 release. The few bug fixes probably had little impact, but all of this paves the way for some performance work that needs to be done on the load balancer. I’ve already committed a patch that improved performance by 15% on super-smack with 4BSD as a result of using schedgraph. I found some cases where we were doing extra context switches that weren’t needed. And this was only a few days after schedgraph commit. Found on kerneltrap, here: http://kerneltrap.org/node/4463#comment 2005-01-07 2:37 am I would like to see some synthetic real-world performance benchmarks against apache, my sql, and other popular open-source programs. 2005-01-07 3:32 am So, this is your post as well? http://bsd.slashdot.org/comments.pl?sid=135108&cid=11274029 2005-01-07 4:29 am dude, i told you i don’t use slashdot in a previous thread get over it already 2005-01-07 4:41 am I’m just curious – that’s why I asked, and didn’t state. Who is impersonating you – any idea? 2005-01-07 5:54 am <em>NetBSD outperforms FreeBSD is clearly FUD.</em> How is saying NetBSD outperforms FreeBSD an invocation of Fear, Uncertainty, and Doubt? 2005-01-07 7:06 am It’s very relativ to decide on what’s being displayed when making decisions on the performance of a server OS.The time it takes before an app closes isn’t very relevant in my opinion,for a server.Would be more appropiate to test how well each of the two performs with *serving* a lot of clients under a variety of stress conditions.Performance is certainly a factor,so is security.The strength of NetBSD is at the same time it’s weakness:Not nearly half the repository of FreeBSD.That said,i would like to know what NetBSD has build in to make the system more secure. 2005-01-07 10:13 am The FreeBSD nvidia drivers work in FreeBSD emulation mode. Yeah, right. Whatever you’re on, I want the same. For the record, I know quite well why what he says he simply pure invention. Quentin Garnier. 2005-01-07 2:57 pm The FreeBSD nvidia drivers work in FreeBSD emulation mode. So? I have tested box A against box B. (both with the same os-registry.c) Configuration Box A ——————– AMD Athlon XP2500+ (1830 Mhz) 1024 DDR PC2700 FX5700 AGP 8X OS:Mandrake 10.1,Debian Sid,Suse 9.2 Configuration Box B ——————— AMD Athlon XP2000+ 512 SDRAM TI4200 AGP 8X OS:FreeBSD 5.3 ,Gnome 2.8 etc,all ports updated. Box B gives 3700FPS with glxgears as opposed to box A who displays never more than 3200FPS with glxgears.Who cares if Linux is being emulated in order to run some driver when it’s apparantly proper implemented?I didn’t even bother to prevent the FreeBSD native agp module from being loaded,i’m sure the glxgears would gives a even higher result with the nvidia agp . 2005-01-07 3:51 pm does FreeBSD support OldWorld Macs and HP Jornadas? Nop. NetBSD is a *true* Hardware undependant unix clone.Sure I like the fact that it compares well with other OS. Regards Andreas PS: Posted from my little arm notebook 2005-01-07 4:22 pm Not to be an ass or something, but in NetBSD world when talking about portability doesn’t “ported” means “atleast runs a little”? But sure, the code is probably much more portable than the other BSDs and Linux. 2005-01-07 5:20 pm Well I can only talk about NetBSD ports that I used. And yes i386, hpcarm and macppc runs rocksolid (means stable) with X and all packages you can dream of from pkgsrc. The only problem I ever really had was getting X to run on my PM7300. But I was told that this is because I dont have original mac hardware. Btw: This card didnt work on YDL 4 Linux too. But how strange it might be that this ATI Rage GL (x86 card) does not work clearly, the Dell SCSI (adaptec …) – and VIA USB2 Controller does very well. PS:its not strange that this Graphics hardware dont work … they just rely on X86 stuff that isnt available on Mac (e.g. like int10) NetBSD just rocks period 2005-01-07 7:29 pm I don’t know. Probably the people that are bashing me personally on OSNews and keep bringing it up even though I dmissed it previous times. 2005-01-07 9:21 pm NetBSD may be nice and may run on over 50 architectures, but it comes at a cost. Many features are lacking on those architectures, such as sleep and sound support on apple laptops. 2005-01-07 9:26 pm Oh yeah. I can’t wait until Microsoft or Apple take PF and make it propreitary. 2005-01-07 10:00 pm NetBSD is a great little BSD OS and it just keeps getting better and better… NetBSD doesn’t yet support all the possible features but it has clean code base that is a solid ground for further development. Full ACPI support seems to be on top of Hubert Feyrer’s inofficial roadmap for NetBSD 3.0. ;^) http://www.feyrer.de/NetBSD/roadmap.html 2005-01-07 10:48 pm Oh yeah. I can’t wait until Microsoft or Apple take PF and make it propreitary. Nobody can make existing BSD-licensed code (like PF) propriarity. They can only keep their own changes propriatity. 2005-01-11 8:02 am I agree, I use it as a fileserver/router/firewall and trying to upgrade it to also be a mailserver, but it works perfectly. I tried Linux some time ago, but got quite quickly back to FreeBSD.