Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Date: Thu, 2 Jun 2005 15:00:22 -0400
From: Christopher Faylor <cgf-no-personal-reply-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Serious performance problems (malloc related?)
Message-ID: <20050602190022.GG6597@trixie.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
References: <3D848382FB72E249812901444C6BDB1D03E04FD3@exchange.timesys.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3D848382FB72E249812901444C6BDB1D03E04FD3@exchange.timesys.com>
User-Agent: Mutt/1.5.8i

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/

