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]

Re: Cygwin slow on x64 systems


On 8/30/2010 7:16 AM, Sagi Ben-Akiva wrote:
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.

Just curious, has the performance characteristics of your test changed with the lastest cygwin snapshot? The affected code has moved somewhat since revision 1.288.


I wonder if we can move the call to wait_for_sigthread() further down in dll_crt0_0() to improve performance via concurrency. Perhaps as far down as right before we assign cygwin_finished_initializing to true?

At first brush, it looks like the slowdown is caused by the slow thread startup. I wouldn't expect that Win64 thread start up to be any slower than Win32 but perhaps this is due to Wow64. MSDN [1] does document that there is some (small) extra thread allocation when on WOW64. Perhaps some independent testing in this regard might be helpful.

Regards,
-Edward

1. http://msdn.microsoft.com/en-us/library/aa384219%28VS.85%29.aspx

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