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 02:38:06PM -0400, Robb, Sam wrote:
>>OTOH, Corinna is hard at work adding low-level Nt* calls to cygwin so,
>>if it wasn't for the requirement that everything has to work on Windows
>>9x, the DLL would be smaller and faster.  Instead, every system call
>>currently needs to have a "do this if it's NT and that if it's 9x" test
>>so "we" have been slow in moving to bypass the win32 api layer on
>>Windows NT.
>>
>>OTOH, we will rebuild it.  We do have the technology.
>
>Is there any reason why the cygwin DLL couldn't be built twice: once
>for Win9x, and once for WinNT-based systems?

We've thought about doing that.  This introduces its own support burden.
Either you sprinkle the code with ifdefs or you introduce 9x and nt
directories.  It's still a possibility, though.

One thing that I've been moving to is an improvement in cygwin's
autoload functionality so that you could use something like "CreateFile"
in the cygwin code but really use a wrapper for "NtCreateFile" if it was
available.

You could do things the other way around, so that NtCreateFile is used
in the main code which invokes a NtCreateFile wrapper for 9x systems but
I am leery of doing things this way since that means that the only
people capable of writing code for cygwin are the people who understand
Nt* calls.  That is a subset of the already small number of people who
understand the UNIX and Windows APIs well enough to work on Cygwin.

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]