Newsgroups: comp.arch
Path: utzoo!utgpu!watserv1!maytag!watdragon!watsol.waterloo.edu!tbray
From: tbray@watsol.waterloo.edu (Tim Bray)
Subject: Re: fork, spawn, vfork: an overview
Message-ID: <1990Aug6.010044.8638@watdragon.waterloo.edu>
Sender: daemon@watdragon.waterloo.edu (Owner of Many System Processes)
Organization: University of Waterloo
References: <920@dgis.dtic.dla.mil> <5830@titcce.cc.titech.ac.jp> <1990Jul24.194313.3258@esegue.segue.boston.ma.us> <25904@mimsy.umd.edu>
Date: Mon, 6 Aug 90 01:00:44 GMT
Lines: 16

chris@mimsy.umd.edu (Chris Torek) writes an informative and very helpful
backgrounder on the subject of fork() and vfork().

But there is a piece of information missing.  How much does fork() cost?  In
an environment with a lot of fork()ing going on, (e.g. a heavily-timeshared
system with a lot of shell scripts running?), how much of the system
resources are burned up forking?  Quantitatively, how much does vfork()
save?  Is the picture significantly different on a workstation which spends
much of its time running a window system and a few technical applications?

Somebody must have measured this at some time.  Or did somebody in the bsd
gang just say "That looks inefficient. Let's fix it" and create vfork()?

I.e., can anyone prove whether the ugliness of vfork() really buys anything?

Cheers, Tim Bray, Open Text Systems
