*BSD News Article 22068


Return to BSD News archive

Xref: sserve comp.os.386bsd.misc:1178 comp.os.linux:55942
Newsgroups: comp.os.386bsd.misc,comp.os.linux
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu!uunet!destroyer!nntp.cs.ubc.ca!uw-beaver!cmaeda
From: cmaeda@cs.washington.edu (Chris Maeda)
Subject: NetBSD TCP/IP network benchmarks
Message-ID: <1993Oct8.085554.9345@beaver.cs.washington.edu>
Sender: news@beaver.cs.washington.edu (USENET News System)
Organization: Computer Science & Engineering, U. of Washington, Seattle
References: <2CB12A8D.17397@news.service.uci.edu> <MYCROFT.93Oct6054959@duality.gnu.ai.mit.edu>
Date: Fri, 8 Oct 93 08:55:54 GMT
Lines: 60


In article <2CB12A8D.17397@news.service.uci.edu>
jstern@aris.ss.uci.edu (Jeff Stern) writes:
>
>   if someone has done a more careful port and measurement than i, and
>   also if disk speed or tcp/ip access can be measured, either.
>

I've done some network throughput and latency benchmarks of NetBSD 0.8.
I don't have a box running linux, so I don't know how fast it is.

Measurements were done using 2 33 mhz 486dx boxes with 16 MB RAM and
3c503 ethernet cards. The machines were run in single user mode on a
private ethernet.  The systems measured are NetBSD 0.8, Mach 2.5, a
vanilla Mach 3.0 system using the TCP/IP code in the UX unix server, a
vanilla Mach 3.0 system using the BSDSS unix server, and a Mach 3.0
system using the library-based TCP/IP implementation.*

TCP throughput was measured using ttcp (anon ftp from sgi.com in
sgi/src/ttcp) which is a 16MB one-way memory-to-memory transfer.

system			codebase	kbytes/s

NetBSD 0.8		BNR2		320		
Mach 2.5 		4.3BSD		457
Mach 3.0(UX server) 	4.3BSD		415
Mach 3.0(BSDSS server) 	BNR2		382
Mach 3.0(library)	BNR2		469

UDP latency was measured using a ping-pong test: a client bounced
packets off a server 10000 times and divided the total elapsed time by
10000.  This set of benchmarks is available through anon ftp from
mach.cs.cmu.edu in src/net-latency-tools.tar.Z.

UDP round trip latency (in milliseconds)

system			message size (bytes)
			1	100	512	1024	1472
-------------------------------------------------------------
NetBSD 0.8		2.63	3.49	6.04	 9.54	12.50
Mach 2.5		1.83	2.44	5.19	 8.51	11.41
Mach 3.0(UX)		3.96	4.67	7.86	11.65	15.00
Mach 3.0(BSDSS)		4.64	5.37	8.95	13.23	16.84
Mach 3.0(library)	2.12 	2.68	5.41	 8.74	11.66

So NetBSD's networking performance is pretty dismal compared to Mach.
I don't know why but I imagine it has something to do with device
drivers and low level code that does context switching and stuff
because the actual network protocol code is very similar in all cases.
To be fair, no one has ever tried to tune up NetBSD.

[More details on these benchmarks and the library-based TCP/IP
implementation are in doc/published/user.level.protocols.ps on
mach.cs.cmu.edu.]

Cheers,
Chris