Do not sleep, but yield
authorJoona Kiiski <joona.kiiski@gmail.com>
Sun, 15 Mar 2015 19:45:30 +0000 (19:45 +0000)
committerJoona Kiiski <joona.kiiski@gmail.com>
Sun, 15 Mar 2015 19:45:30 +0000 (19:45 +0000)
commitf04f50b368b09edcb2e965bbdd44980654c60cc3
treede82a1f26baed935a36d84c90cf82e720f7e91de
parenta4b98a052e2cadfb15984f0937c8131e18c663b2
Do not sleep, but yield

During the search, do not block on condition variable, but instead use std::this_thread::yield().

Clear gain with 16 threads. Again results vary highly depending on hardware, but on average it's a clear gain.

ELO: 12.17 +-4.3 (95%) LOS: 100.0%
Total: 7998 W: 1407 L: 1127 D: 5464

There is no functional change in single thread mode

Resolves #294
src/search.cpp
src/thread.cpp