This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH] workaround for sigproc_init
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
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat