This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Serious performance problems (malloc related?)


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]