delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/06/02/21:13:43

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/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
Date: Thu, 2 Jun 2005 21:13:23 -0400
From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Serious performance problems (malloc related?)
Message-ID: <20050603011323.GA10867@trixie.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
References: <3D848382FB72E249812901444C6BDB1D03E04FD3 AT exchange DOT timesys DOT com> <Pine DOT GSO DOT 4 DOT 61 DOT 0506021730180 DOT 23568 AT slinky DOT cs DOT nyu DOT edu> <429F7D9D DOT 7020808 AT exmsft DOT com> <200506022357 DOT 37020 DOT ralf DOT habacker AT freenet DOT de>
Mime-Version: 1.0
In-Reply-To: <200506022357.37020.ralf.habacker@freenet.de>
User-Agent: Mutt/1.5.8i

On Thu, Jun 02, 2005 at 11:57:26PM +0200, Ralf Habacker wrote:
>Am Donnerstag, 2. Juni 2005 23:43 schrieb Keith Moore:
>> Igor Pechtchanski wrote:
>>>Dropping it altogether would be unfortunate.  Providing Win98 support
>>>DLLs in a separate package is a possibility.  There's still the point
>>>that CGF raised, about there being many more people with the knowledge
>>>of Win32 API than those with the knowledge of Nt* API.
>>
>>Is there anything I can do to help with the Nt* conversion?  I've been
>>using the native NT APIs for about 15 years.  I'm not so familiar with
>>the APIs added in WinXP and 2003, but I'm *very* familiar with the core
>>API set.
>
>There were several attempts and many discussions in the past to speed
>up the fork implementation but unfortunally without any succes.

I did speed up fork slightly many years ago.  After that all that I
remember is that there was a time where every few months someone would
say "Hey! We can use copy on write! Why didn't anyone ever think of that
before?" Then they'd find some past message of mine where I said that
I'd tried it and it really didn't help much.  Then sometimes I would get
personal email asking for in-depth brain dump of everything I did.

I tried this with both Nt routines and with the shared memory copy on
write without much luck.

And, no, I don't have the code anymore and I don't remember what I did
but I'm pretty sure I didn't do something so egregiously wrong that I
would have missed a noticeable speed improvement.

Cygwin uses {Read,Write}ProcessMemory to copy memory and AFAICT, 
these are actually pretty fast functions.  There are a lot of things
that fork has to do besides just duplicate memory from the parent to the
child.  I'm not sure how Nt routines would help out there.

That is not to say that there isn't some place that could be improved
but, as always, I doubt that anyone is going to find a way to improve
things by speculating without actually inspecting the source code.

Keith, you don't have a complete reference for the Nt functions do you?


cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.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