Christopher Faylor wrote:

On Sat, May 28, 2005 at 11:05:23PM -0400, Christopher Faylor wrote:

On Sat, May 28, 2005 at 08:18:46PM -0400, Christopher Faylor wrote:

I have an idea about how to work around this problem but I have to think
about how dangerous it might be.  Basically removing the signal handling
wrapper around pthread_getspecific and pthread_setspecific.  That may
work ok but I have to think about worst case scenarios.

I've semi-convinced myself that pthread_[gs]etspecific do not need signal
protection so I've released a snapshot which turns it off:

http://cygwin.com/snapshots/

This version is about 2.7 times faster than cygwin 1.5.17 but it is still
not as fast as mingw.  I don't think we're going to hit mingw performance
since there are still cygwin overhead issues involved.

AFAIK, this is only going to provide a speedup for this specific case.
I don't think a general cygwin user is going to notice any improvement.


Gerrit, if you have a chance could you confirm or deny if this change has
any effect for you?

I just changed the DLL, application is not recompiled:

Snapshot DLL:

$ C:\cygwin\bin\time cygspd.exe cygspd.dat
94.04user 0.61system 1:41.69elapsed 93%CPU
 (0avgtext+0avgdata 10560maxresident)k
0inputs+0outputs (667major+0minor)pagefaults 0swaps

Release 1.5.17 DLL:

$ C:\cygwin\bin\time cygspd.exe cygspd.dat
264.50user 0.75system 4:48.08elapsed 92%CPU
 (0avgtext+0avgdata 10560maxresident)k
0inputs+0outputs (667major+0minor)pagefaults 0swaps


It is about 2,8514851485148514851485148514851 times faster at my
workstation.


Gerrit
--
=^..^=

--
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/

Reply via email to