[PATCH] workaround for sigproc_init
Mon Aug 1 08:57:00 GMT 2011
On Jul 31 14:51, Christopher Faylor wrote:
> 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.
Interesting. I tested on identical virtual hardware.
for i in `seq 1 300`; do date; done > list.log
This takes 6.8 secs on W7 32 bit, 10.7 secs on W7 64 bit, and 10.6 secs
on 2008 R2 64 bit with two virtual CPUs.
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
More information about the Cygwin-patches