delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/03/28/19:04:10

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Chris January" <chris AT atomice DOT net>
To: <cygwin AT cygwin DOT com>
Subject: RE: Mozilla 1.3 built on cygwin?
Date: Sat, 29 Mar 2003 00:04:01 -0000
Message-ID: <LPEHIHGCJOAIPFLADJAHKEKFDHAA.chris@atomice.net>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Importance: Normal
In-Reply-To: <20030328234857.GA971@redhat.com>

> On Thu, Mar 27, 2003 at 11:58:50PM +0100, Ralf Habacker wrote:
> >I can't prove a fact, that forking is the most anonying problem
> and there were
> >some initial work from some people (I remember  Chris Faylor,
> Chris January and
> >other) to identify the problems and to implement a new
> copy-on-write semantic,
> >which will be much faster,
>
> You misremember.  I did hobble together a copy-on-write
> implementation and found
> that it was actually slower.  The generic win32 implementation of
> copy-on-write
> isn't powerful enough to completely implement fork anyway.

Noone has explained, however, *why* the copy-on-write implementation was
slower. Perhaps we have just been using the wrong tests. Does copy-on-write
actually perform slower in "real world" tests? I don't know, because I only
used the skeleton example found in Nebbit's book.

Unfortunately I can't work on this anymore as I have seen the fork () code
in WinNT POSIX. That code is the kind of thing it would be nice to have in
Cygwin. I can't compare perfomance, however, as WinNT POSIX has
significantly different overheads to Cygwin.
I am trying to persuade Andrew to release his code under another license
since non-GPL compatible open source programs can't currently be linked
against it. If he does choose to do this and the new license is GPL
compatible I will look at this again. I am also willing to talk anyone else
through the process of writing a copy-on-write fork () implementation.

The problem in KDE is that you can't just optimise away the fork/exec pairs
using vfork/spawn, because the fork is abstracted in a class and you don't
know what the calling code's intentions are.

I also am working on a native exec () implementation that doesn't spawn a
new process. However I don't think this will give any significant speed-up
over CreateProcess and I doubt very much you will ever see it in Cygwin.

Chris


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019