Subject: Re: Time and motion studies of gcc and egcs and LCC
From: [email-masked]

3 Feb 1998 15:09:00 -0800
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
To: [email-masked]

>   [email-masked]
>>It occurred to me
>>afterwards that the probable reason for this is linking to a DLL library
>>or libraries for time-critical code.  If you get a profiler program that
>>lets you know where gcc spends its time, I think you'll find that gcc is
>>spending that extra time thunking back and forth between cygwin.dll.
>
>I don't think that the overhead of getting into a DLL is all that great, so
>I think that the performance hit is somewhere else, like inside cygwin.dll
>and NT itself.  The cost to enter a DLL is an additional jump instruction
>(indirect through the linkage pointer).

I guarantee you that your estimates are extremely optimistic.  Thunking
is an operating system call followed by filling in a jump location,
followed by the jump. Every time the call is made. Using a DLL library
under Windows is _not_ like using a share library under Linux, because
the Linux linker takes the time to make all calls to the shared jumptable
library behave like statically-linked calls.

Rather than wage a war of opinions in which I am sure that mine is the
better,  someone should do a profile of where the compiler and bash.exe
spend their time.

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".