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