*BSD News Article 56545


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/
  /    / ___/ /  ) /__)      ) /   /  ) ___/ /  /   /__) /__)
 /____/ /__/ (__/ (___   ___/ (__ /  / /__/ /  /   (___ / \__