как произвольно выбрать лучшее количество потоков - PullRequest
1 голос
/ 30 ноября 2011

есть ли способ выбрать лучшее количество потоков внутри программы?например, если я запускаю свою программу на двухъядерном компьютере, она будет использовать 2 потока, на 6-ядерном компьютере, она будет работать на 6 потоках и т. д.

я не знаю, есть лиВызов pthreads для определения количества ядер, на которых выполняется программа, но я даже рассматривал что-то вроде следующего:

в начале программы, запустить цикл for (возможно, 1000 итераций) и времяЭто.затем запустите его с двумя потоками, это должно быть (вероятно) примерно вдвое быстрее.продолжайте этот процесс, пока не произойдет заметного ускорения.это оптимальное количество потоков для использования.

очевидно, что это пустая трата времени (необходимость повторять это много раз), и оно не всегда даст вам максимальное количество потоков для использования, но это было простоидея.другие способы?

...