Мне нужно запросить сродство ЦП моей программы и выяснить, сколько ЦП из общего числа ЦП, доступных для системы, назначено ей.
std::thread::hardware_concurrency()
возвращает значение, которое не отражает сходство. Есть ли (быстрый) способ запроса соответствия процессов?
Похоже, это работает:
int getAffinityCount()
{
DWORD64 dwProcessAffinity, dwSystemAffinity;
GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinity, &dwSystemAffinity);
return __popcnt64(dwProcessAffinity);
}
Других решений пока нет …