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]

Cygwin slow on x64 systems


Hello,

For the last couple of weeks I'm trying to identify the cause for cygwin slowdown on x64 machines which was reported by David Morgan about 6 months ago.

I wrote a little bash script which prints the result of 'date -s' to a file in a loop and then counts the number of times the same second appears in that file.
I used this script to test all available cygwin revisions snapshots (which I downloaded from ftp://www.fruitbat.org/pub/cygwin/circa/index.html) for cygwin version 1.5.19-4.
I was able to identify the exact change which introduce the slowdown.


With my test script for cygwin version 1.5.19-4, snapshot timestamp 1142005204 I'm able to get ~40 lines/second, but with the same version, snapshot timestamp 1142338816 the result is ~18 lines/second.

Using cvsps I was able to generate a patchset which contains all the changes between those 2 revisions.
I then applied the changes one by one and built cygwin1.dll for each change, then I ran my test script again for each cygwin1.dll version and I found that the change to winsup/cygwin/dcrt0.cc from '2006/03/12 23:57:03' introduce this issue.


The log for this change is :

* dcrt0.cc (dll_crt0_0): Call sigproc_init during init startup.
(_dll_crt0): Don't worry about sync_startup.  Just wait for sigthread here.

This change includes 2 different sub-changes :
1. Moving the call to sigproc_init from dll_crt0_1 function to dll_crt0_0 - which doesn't affect performance.


2. a. Moving the call to wait_for_sigthread from dll_crt0_1 to _dll_crt0 which calls dll_crt0_1.
b. Deleting the call to WaitForSingleObject,
i.e. : "Don't worry about sync_startup"


I can confirm that the 2nd sub-change is the cause for the slowdown.

Any help will be appreciated.

Thank you,
  Sagi.

--

Sagi Ben-Akiva - sagi at graphtech dot co dot il
GraphTech Computer Systems




-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


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