[PATCH] workaround for sigproc_init
Sun Jul 31 18:51:00 GMT 2011
On Sun, Jul 31, 2011 at 10:26:23AM +0200, Corinna Vinschen wrote:
>On Jul 30 17:04, Christopher Faylor wrote:
>> On Fri, Jul 29, 2011 at 08:41:10PM +0900, jojelino wrote:
>> >As sigproc_init is called during dll initialization, wait_sig thread is
>> >not created as soon as possible.(this is known in msdn createthread
>> >reference. http://msdn.microsoft.com/en-us/library/ms682453(v=vs.85).aspx)
>> >And then wait_sig starts to wake up as sig_dispatch_pending enters
>> >waitforsingleobject. then main thread stops for few ms. and it shows
>> >poor performance.
>> Incidentally, the intent of the now-defunct wincap
>> wincap.has_buggy_thread_startup was to avoid creating wait_sig during
>> thread startup, moving it to dll_crt0_1() which is the code that
>> eventually calls main().
>> (This was all rehashed back in August/September 2010)
>> Although I didn't fiddle with that myself, Corinna reported that having
>> the value set had no effect in her test cases so I don't think your
>> analysis here is 100% correct.
>Erm, I tested on 32 bit. The slowdown occured on all platforms, not
>only 64 bit. 64 bit is still only half as fast in the date loop for
>reason or reasons unknown.
With my recent changes, I see about 10% difference between W7 64-bit
and XP 32-bit on the same machine. W7 64-bit is slower.
More information about the Cygwin-patches