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())

どちらの方法でも同じ結果が得られ、システムに搭載されている論理プロセッサの数が出力されます。

マルチプロセッシングでの応用

Pythonmultiprocessingモジュールは、複数のプロセスを利用した並列処理をサポートします。コア数に基づいて、最適なプロセス数を設定することでパフォーマンスを向上させることができます。

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()を使うのが簡単で便利です。特にマルチプロセッシングを利用する際に、コア数に応じたプロセス設定はパフォーマンス向上に大きく貢献します。