Handle Windows Processors Groups
authorMarco Costalba <mcostalba@gmail.com>
Tue, 22 Nov 2016 06:41:46 +0000 (07:41 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 22 Nov 2016 06:56:04 +0000 (07:56 +0100)
commit0d9a9f5e985c13852cf9f29767e95f295bb29575
tree994c9fc76096a21df0e6f079741ae12b4f28fb95
parent6036303bb621d61fcc9b3328701926dc69e8efc1
Handle Windows Processors Groups

Under Windows it is not possible for a process to run on more than one
logical processor group. This usually means to be limited to use max 64
cores. To overcome this, some special platform specific API should be
called to set group affinity for each thread. Original code from Texel by
Peter Ă–sterlund.

Tested by Jean-Paul Vael on a Xeon E7-8890 v4 with 88 threads and confimed
speed up between 44 and 88 threads is about 30%, as expected.

No functional change.
src/misc.cpp
src/misc.h
src/thread.cpp