X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Message-ID: <4C7BDEC0.306@sidefx.com> Date: Mon, 30 Aug 2010 12:39:28 -0400 From: Edward Lam User-Agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:2.0b5pre) Gecko/20100820 Shredder/3.2a1pre MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Cygwin slow on x64 systems References: <4C7B9327 DOT 9030204 AT graphtech DOT co DOT il> In-Reply-To: <4C7B9327.9030204@graphtech.co.il> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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