PythonでCPUコア数を取得する方法
PythonでシステムのCPUコア数を取得するための方法はいくつかありますが、最もシンプルなのがosモジュールやmultiprocessingモジュールを使用する方法です。
os.cpu_count()を使用
os.cpu_count()は、システム上の論理CPUコアの数を返します。このメソッドはPython標準ライブラリのosモジュールに含まれており、追加のインストールは必要ありません。
import os
print(os.cpu_count())
multiprocessing.cpu_count()を使用
multiprocessingモジュールでも、CPUコア数を取得できます。このメソッドは、並列処理やプロセスプールを設定する際に便利です。
import multiprocessing
print(multiprocessing.cpu_count())
どちらの方法でも同じ結果が得られ、システムに搭載されている論理プロセッサの数が出力されます。
マルチプロセッシングでの応用
Pythonのmultiprocessingモジュールは、複数のプロセスを利用した並列処理をサポートします。コア数に基づいて、最適なプロセス数を設定することでパフォーマンスを向上させることができます。
from multiprocessing import Pool, cpu_count
def worker(num):
return num * 2
if __name__ == "__main__":
with Pool(cpu_count()) as p:
result = p.map(worker, range(10))
print(result)
この例では、システムのコア数に応じたプロセスプールが作成され、効率的に並列処理が行われます。
まとめ
PythonでシステムのCPUコア数を取得するには、os.cpu_count()やmultiprocessing.cpu_count()を使うのが簡単で便利です。特にマルチプロセッシングを利用する際に、コア数に応じたプロセス設定はパフォーマンス向上に大きく貢献します。