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!)