## Linux vs FreeBSD: The Benchmarks ## Rob Garrett Well, it was my intention in this article to provide *clear* benchmark results of FreeBSD vs Linux, but it seems that the only thing that I was actually able to prove is that the benchmark suites currently available for UNIX operating systems are extremely lacking. There wasn't a clear winner, and the results of the benchmarks are conflicting. Bonnie shows FreeBSD to be faster than RedHat in all areas ftping a 1 Gig file shows FreeBSD to my 10 mbit link, while Linux doesn't quite saturate it, although it's close. Linux Results from Bonnie -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 5958 95.8 6358 10.6 3524 11.0 4738 73.5 8654 7.9 67.7 0.8 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 6015 96.3 6322 10.4 3551 10.5 5354 82.2 11057 10.9 77.7 0.8 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 5768 92.4 6313 9.9 3549 10.9 5329 82.8 11053 10.7 77.4 0.8 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 5980 96.0 6316 9.7 3471 10.5 4946 76.4 11054 8.9 78.1 0.7 FreeBSD results from Bonnie -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 7416 37.8 7334 10.5 7336 19.7 18124 99.9 90798 100.0 1169.3 13. -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 7255 37.1 7308 10.4 7346 19.8 18114 100.0 90522 100.0 1130.2 12 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 7383 37.7 7330 10.5 7348 19.6 18107 99.9 90438 100.0 1295.2 14. -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 7396 37.6 7326 10.4 7336 19.7 18122 100.0 90710 100.0 1290.2 14 However.. Iozone Results From Linux IOZONE: auto-test mode MB reclen bytes/sec written bytes/sec read 1 512 4369066 52428799 1 1024 8065969 52428800 1 2048 104857599 52428799 1 4096 104857600 52428800 1 8192 104857599 52428799 2 512 52428800 69905066 2 1024 104857599 69905066 2 2048 104857600 69905066 2 4096 104857599 69905066 2 8192 69905066 69905066 4 512 52428799 59918628 4 1024 83886079 69905066 4 2048 83886080 69905066 4 4096 83886079 83886080 4 8192 83886080 69905066 8 512 52428799 41943040 8 1024 76260072 59918628 8 2048 76260072 69905066 8 4096 83886079 69905066 8 8192 76260072 64527753 16 512 49344752 49344752 16 1024 69905066 59918628 16 2048 76260072 64527753 16 4096 76260072 64527753 16 8192 76260072 62137837 And FreeBSD Results from Iozone IOZONE: auto-test mode MB reclen bytes/sec written bytes/sec read 1 512 26843545 10324440 1 1024 33554432 8947848 1 2048 44739242 8388608 1 4096 44739242 8388608 1 8192 67108864 7895160 2 512 26843545 10324440 2 1024 33554432 9586980 2 2048 44739242 8947848 2 4096 53687091 8659208 2 8192 53687091 8659208 4 512 26843545 10737418 4 1024 38347922 9586980 4 2048 53687091 8947848 4 4096 59652323 8801162 4 8192 67108864 8521760 8 512 28256363 10129639 8 1024 41297762 8801162 8 2048 51130563 8659208 8 4096 59652323 8454660 8 8192 71582788 8259552 16 512 9629971 31580641 16 1024 10900932 20069940 16 2048 11545611 119304647 16 4096 11864550 143165576 16 8192 11864550 119304647 Show something Completely Different I couldn't get ByteBench to run on RedHat, so I don't have results to show you for that Benchmark. L M B E N C H 1 . 0 S U M M A R Y ------------------------------------ Processor, Processes - times in microseconds -------------------------------------------- Host OS MHz Null Null Simple /bin/sh Mmap 2-proc 8-proc Syscall Process Process Process lat ctxsw ctxsw --------- ------------- ---- ------- ------- ------- ------- ---- ------ ------ elijah.el FreeBSD 3.0-R 352 4 0K 2K 4K 18 2 3 linux.eli Linux 2.0.35 352 1 0K 2K 12K 14 3 4 *Local* Communication latencies in microseconds ----------------------------------------------- Host OS Pipe UDP RPC/ TCP RPC/ UDP TCP --------- ------------- ------- ------- ------- ------- ------- elijah.el FreeBSD 3.0-R 12 48 111 55 145 linux.eli Linux 2.0.35 13 47 111 77 168 *Local* Communication bandwidths in megabytes/second ---------------------------------------------------- Host OS Pipe TCP File Mmap Bcopy Bcopy Mem Mem reread reread (libc) (hand) read write --------- ------------- ---- ---- ------ ------ ------ ------ ---- ----- elijah.el FreeBSD 3.0-R 182 4 125 222 124 123 300 168 linux.eli Linux 2.0.35 166 64 165 244 120 132 298 169 Memory latencies in nanoseconds (WARNING - may not be correct, check graphs) -------------------------------------------- Host OS MHz L1 $ L2 $ Main mem Guesses --------- ------------- --- ---- ---- -------- ------- elijah.el FreeBSD 3.0-R 351 5 42 158 linux.eli Linux 2.0.35 352 5 42 157 All tests were done on out of the box installations from cdrom. The version of Linux tested was RedHat 5.0, and FreeBSD was 3.0-RELEASE. The test machine is a 350 MHz asusPbd Motherboard 128 Meg Ram, 1 Fujitsu 10.2 Gig hard drive and a generic N2000 ethernet card Ati 4 MB AGP video card, though video functions were not tested. Conclusions In conclusion, I would like to say that decisions concerning an operating system should be made on several factors. The ones I consider important are these: o reliability o security o speed o ease of use This, of course, is just my opinion. Yours may vary. We have received a challenge from someone on EfNet IRC in #seattle. Hopefully we will get better results from that challenge. It's not definite yet, but here are the details: 1) The user from #seattle will configure a Linux system as best as he can, and then we'll run benchmarks on it. 2) I will configure the *same* system using FreeBSD and run benchmarks with my configuration. If the challenge is conducted, I will post those results in a future article. Rob $Id: benchmarks.txt,v 1.1 2000/02/16 08:07:48 jim Exp $