Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!spool.mu.edu!usenet.eel.ufl.edu!tank.news.pipex.net!pipex!news.mathworks.com!newsfeed.internetmci.com!howland.reston.ans.net!math.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!po.CWRU.Edu!gns2 From: gns2@po.CWRU.Edu (Gabriel N. Schaffer) Newsgroups: comp.unix.bsd.freebsd.misc,comp.unix.advocacy Subject: Re: Win32 CreateThread() vs Unix fork() Date: 11 Dec 1995 23:53:12 GMT Organization: Case Western Reserve University, Cleveland, OH (USA) Lines: 44 Message-ID: <4aig98$mca@madeline.INS.CWRU.Edu> References: <4ab85f$idq@news.voicenet.com> <4adu72$nkf@heathers.stdio.com> Reply-To: gns2@po.CWRU.Edu (Gabriel N. Schaffer) NNTP-Posting-Host: roo.ins.cwru.edu Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:10165 comp.unix.advocacy:12005 In a previous article, risner@stdio.com () says: >In <4ab85f$idq@news.voicenet.com>, 900RR (900RR) writes: >>Win32's CreateThread() is an extremely fast and efficient way of >> >>By contrast, Unix uses fork() to start an entire new process to > >>In any case, does anyone know how much more efficient a server >>application could run under an NT system than the same app, same >>hardware on something like FreeBSD or Linux? > >>Do veteran Unix programmers avoid fork() like the plague? >No. Of course not, they have no choice. >FreeBSD (and any other current UN*X) implements fork() as creating a new >process (slightly more overhead than creating a new thread) and performs >copy-on-write so that it maps in the old process text segment and data segment. That doesn't make it fast. A fork() generally takes 3ms, while creating a thread is about .3ms on the same machine. >Look at http://corp.novell.com/press/pr95251.htm >It has a article from ZIFF which compares NT and various commercial UN*X >systems. UnixWare was VERY NEARLY twice as fast in terms of transactions >per second as compared to NT. SCO was around 50% faster than NT. Ah, but since NT scaled at 100% and UW at only 80%, you need only add a few more CPUs to make NT much faster than the rest. In case you don't get what I'm saying here, any test which shows 100% scaling is severely flawed because that's like having an engine run at 100% efficiency -- it's just not physically possible. >I would be interested in seeing a test compare of servers for Linux, FreeBSD, >UnixWare, SCO, NT, OS/2 because this article did not contain any free UN*X tested. There were no free versions of SMP Unix to test. -- /~~~~ / /~~~ / /~~/~~ gns2@po.cwru.edu / ___ __ /_ __ (__ __ /_ __ _/__/__ _http://www.gabe.com/ / / ___/ / ) /__) ) / / ) ___/ / / /__) /__) /____/ /__/ (__/ (___ ___/ (__ / / /__/ / / (___ / \__