Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA
Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!genrad!panda!talcott!harvard!seismo!brl-tgr!tgr!lcc.niket@locus.ucla.edu
From: lcc.niket@locus.ucla.edu (Niket K. Patwardhan)
Newsgroups: net.unix
Subject: Re: Help Measuring Fork/Exec Overhead
Message-ID: <910@brl-tgr.ARPA>
Date: Thu, 22-Aug-85 22:15:42 EDT
Article-I.D.: brl-tgr.910
Posted: Thu Aug 22 22:15:42 1985
Date-Received: Sun, 25-Aug-85 02:28:04 EDT
Sender: news@brl-tgr.ARPA
Lines: 14

>From: juhlin@druak.UUCP (JuhlinB)
>Subject: Help Measuring Fork/Exec Overhead
>Date: 20 Aug 85 23:33:29 GMT
>To:       info-unix@brl-tgr.arpa

I did some of this at INTEL. We decided to include 1 exit() , 1 wait() and 2
task switches as part of the fork overhead. Reason: if you do a fork() you
cannot escape the fact that these events are eventually going to happen - at
some time! On our systems there was almost always enough memory that it was not
necessary to swap out the child to do the fork, so the results were consistent.

The task switches were important:- on the implementation we had, it could take
upto 5mS to do the task switch! (And you cant escape that order of magnitude
with any of the usual C compilers for the 286 for UNIX style switching!)