App runs 8x slower on dual core machine (with test case to replicate issue)

Corinna Vinschen
Thu Aug 9 09:22:00 GMT 2012

On Aug  9 18:07, Zach Saw wrote:
> Hi all,
> While trying to compile my multithreaded app written for Linux on
> Cygwin to run on Windows, I discovered the app would perform 8x slower
> on a machine with the same specs. I then went on to triage the issue
> and found that if I set CPU affinity of that process to 1 (i.e. single
> core), I'd get it to speed up to almost the speed I'd get under Linux
> (set to single core too).
> I dug deeper and had my suspicion on a Cygwin bug. I suspected a
> problem in its thread singalling (condvar). So to test my hypothesis,
> I created a minimal test case to show case this issue. This minimal
> test case compiled on MSVC++ too and the difference is staggering.
> What you'll find is if you started the process with CPU Aff = 1,
> you'll get it to run >8x as fast as the default.
> On my machine, it took 4300ms to run in dual core mode, 460ms to run
> when CPU Aff = 1.

Thanks for the testcase, but... would you mind to change it to take the
boost lib out of the picture, by using just plain pthread functions, if
possible in plain C?


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list