This is the mail archive of the
mailing list for the Cygwin project.
Re: Copy-on-write fork
- From: Christopher Faylor <cgf at redhat dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 19 Apr 2002 22:18:08 -0400
- Subject: Re: Copy-on-write fork
- References: <018501c1e810$0bea9bd0$0100a8c0@advent02>
- Reply-to: cygwin at cygwin dot com
On Sat, Apr 20, 2002 at 03:06:55AM +0100, Chris January wrote:
>This is mainly a question aimed at Christopher Faylor, but maybe someone
>else knows the answer.
>My question is, with regard to Chris's post "Re: copy-on-write (oh well)"
>anyone know why a copy-on-write implementation of fork takes longer than the
>current Cygwin version??
>BTW, I've not had any problems forking beyond the first level using the
>example code from 'Window NT/2000 Native API reference'. What problems did
>you encounter Chris? My test case is probably not rigorous enough.
I don't know. I've remarked on this in the past. My benchmarks showed
the same thing. I was excited about doing this when I was first hired
by Cygnus since I wanted to contribute to making cygwin faster.
I implemented a fork using Windows API copy-on-write (for NT) and I
believe I also tried to use the low-level NT technique. Neither showed
any noticeable performance gain and, of course, both suffered from
I assume that one possible reason is that the copy-on-write fork may be
somehow bypassing normal in-memory sharing of text segments but I never
knew for sure.
The problems with forking beyond the first level are for the Windows
API method, not with the low-level NT calls.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html