Как определить количество физических процессоров/ядер в Windows, Mac и LinuxC++

Программы на C++. Форум разработчиков
Anonymous
Как определить количество физических процессоров/ядер в Windows, Mac и Linux

Сообщение Anonymous »

У меня есть многопоточное приложение на C++, которое работает на Windows, Mac и некоторых версиях Linux.
Коротко говоря: чтобы оно работало с максимальной эффективностью, я должны иметь возможность создавать один поток для каждого физического процессора/ядра. Создание большего количества потоков, чем имеется физических процессоров/ядер, значительно снижает производительность моей программы. Я уже могу правильно определить количество логических процессоров/ядер на всех трех этих платформах. Чтобы иметь возможность правильно определить количество физических процессоров/ядер, мне нужно определить, поддерживается ли гипертрединг и активно.
Есть ли способ чтобы определить, поддерживается ли гиперпоточность и включена? Если да, то как именно?

Подробнее здесь: https://stackoverflow.com/questions/290 ... c-and-linu

Вернуться в «C++»