Оба модуля os
и multiprocessing
определяют функцию cpu_count
.
os.cpu_count
задокументировано следующим образом:
Возвратколичество процессоров в системе.Возвращает None, если не определено.
и документация multiprocessing.cpu_count
говорит:
Возвращает количество процессоров в системе.Может вызвать NotImplementedError.Смотрите также os.cpu_count ()
На моей машине оба возвращают одинаковый результат:
>>> import os
>>> import multiprocessing as mp
>>> os.cpu_count()
8
>>> mp.cpu_count()
8
Я бы подумал, что multiprocessing.cpu_count
будет простой ссылкой наos.cpu_count
, но это не так:
>>> os.cpu_count is mp.cpu_count
False
Так в чем же разница между ними?Я гарантирован, что они всегда будут возвращать один и тот же результат?Более того, если я хочу указать число процессов, которые нужно создать для multiprocessing.Pool
, я должен использовать функцию os
или multiprocessing
?