Ethereal-dev: Re: [Ethereal-dev] Re: [Ethereal-cvs] rev 16615: /trunk/image/: Makefile.nmake d

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: ronnie sahlberg <ronniesahlberg@xxxxxxxxx>
Date: Tue, 29 Nov 2005 17:50:51 +1100
fork() is very expensive on nt.

try doing somehting that does a lot of fork()   like compiling ethereal under cygwin or just running a semicomplex shellscript.



On 11/29/05, Guy Harris <gharris@xxxxxxxxx> wrote:
Richard Sharpe wrote:

> What he means is that a modern UNIX/Linux system shares all the pages,
> so the fact that you run the same program twice does not cost you much.
> And, with Copy on Write, even pages that are modified in each of the
> images don't cost much.
>
> I suspect that Windows does as well.

You're probably right.

However, a fork (which would be done on UN*X) involves setting all the
data pages to copy-on-write, which can be somewhat expensive (marking
them non-writeable in the MMU, etc.), and the exec (done on both
platforms) might involve faulting in the relevant pages, even if it's a
minor fault (satisfied by finding the page in the page pool), so
launching the executable might not be cheap (even if it's cheaper on
UN*X than on Windows).

_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev