目次
- 目次
- はじめに
- subprocessによる複数子プロセス処理
- concurrent.futuresによるマルチプロセス処理
- Queueによる並行プログラミング
- 最後に
- 参考資料
- MyEnigma Supporters
はじめに
元々Pythonは、
そこまで処理速度が早い言語ではないので、
システムの処理速度を最適化したい場合は、
C++などで書き直した方が良いのかもしれませんが、
Pythonシステムをあと少し早くしたい時には、
並行処理プログラミングをしてみると、
効果があるかもしれません。
最近のコンピューターはマルチコアで、
かつハイパースレッディングなどに対応しているため、
複数の処理を同時並行で処理させることで、
処理時間を早くすることはできます。
他の言語では、スレッドなどを使って
比較的カンタンに並列処理を実現することができますが、
実はPythonはグローバルインタープリタロック(GIL)という仕組みがあるので、
普通にマルチスレッドのプログラミングをしても、
一つのスレッドづつしか実行されず、
処理が早くならないことが多いようです。
そこで、そんなPythonにおいても
上手く並行処理を実施する方法がいくつかあるので、
これらの手法について
簡単にまとめようと思います。
詳しいPythonにおける
並行処理のプログラミングについては、
下記の書籍が詳しいため参照下さい。
続きを読む