November 2015
Intermediate to advanced
360 pages
6h 16m
Japanese
multiprocessingモジュールは何を提供するのか?numpyのデータを処理する方法は?デフォルトのCPythonは複数のCPUを使いません。その理由は、Pythonがシングルコアの時代に設計されたためでもあり、並列処理を効率的に実行するのがとても難しいためでもあります。複数のCPUを使うためのツールがありますが、どれを選ぶのかはユーザーしだいです。長時間実行するプロセスにおいて、マルチコアCPUのうちたったひとつのコアしか活用できないのは苦痛ですから、本章では同時に複数のコアを使う方法を説明します。
![]() |
上記はCPython(ふだん使っているPythonの実装)についての話です。Python言語の仕様にはマルチコアの利用を妨げるものはありません。CPythonの実装はマルチコアを効率的に活用することはできませんが、他の実装(例えばPyPyがソフトウェア・トランザクショナル・メモリを使えるようになると)はこの制約に縛られません。 |
現在はマルチコアの時代です。ノートPCでも4コアはあたりまえで、デスクトップではまもなく8コアが一般的になるでしょう。サーバーでは10、12、15コアのCPUが利用可能です。それほど手間をかけずにマルチコアのCPU用にジョブを分割することができるのなら、そのような方向性で考えるのが得策です。 ...
Read now
Unlock full access