This is the mail archive of the cygwin@sourceware.cygnus.com 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]

Re: Time and motion studies of gcc and egcs and LCC


>   marcus@bighorn.dr.lucent.com
>>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
"gnu-win32-request@cygnus.com" with one line of text: "help".


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