まえがき

 Pythonを習得するのは簡単です。本書を手にしている読者は、コードが正しく実行できたうえで、それを高速化する必要にせまられているものと思われます。コードを簡単に修正して繰り返しアイデアを試せる点はすばらしいです。「簡単に開発できること」と「できるだけ高速に実行できること」の間のトレードオフは、よく知られており悩ましい問題ですが、いろいろな解決方法があります。

 一連の処理を高速に実行しなければならない場合もあれば、マルチコアや、クラスタ、GPU環境の利点を活用できる場合もあるでしょう。信頼性を損なわない範囲で、とりあえず資金が許す限りの処理が可能になるように、システムをスケーラブルにしたい場合もあります。あるいは、他の言語から借りてきたコーディングテクニックが、Pythonでは通用しないこともあるでしょう。

 本書では、ボトルネックを理解し、高速でよりスケーラブルな解決方法を実践的に示しながら、これらの話題を説明します。また、同じ轍を踏まないように先人が遺した格闘の記録にも触れます。

 Pythonは、ラピッド開発、実環境へのデプロイ、スケーラブルなシステム作りに適しています。Pythonのエコシステムには、よりスケールするようにがんばってくれている人がたくさんいるので、そこは彼らに任せて、われわれは身近な課題にチャレンジすることに集中しましょう。

本書の想定読者

 本書の想定読者は、処理が遅い理由を考えることができる程度にPythonのプログラミング経験があり、Cythonや、NumPy、PyPyのような技術を高速化手法として検討したことがある人です。他の言語でもプログラミングしたことがあり、性能の問題を解決する方法は1つではないことを知っていればなおよいです。 ...

Get ハイパフォーマンスPython 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.