November 2015
Intermediate to advanced
360 pages
6h 16m
Japanese
コードを高速化するもっとも簡単な方法は、処理を減らすことです。すでに最良のアルゴリズムを選択し、処理するデータ量を減らしているのなら、実行する命令数を減らすもっとも簡単な方法は、コードを機械語にまでコンパイルすることです。
Pythonにはさまざまなコンパイラの選択肢があります。CythonやShed Skin、PythranのようなCに基づくコンパイラ、NumbaのようなLLVMに基づくコンパイラ、組み込みの実行時(Just-In-Time:JIT)コンパイラを内蔵する仮想マシンであるPyPyなどがあります。どれを採用するかは、コード変更の必要性と開発チームの方向性のバランスをとって決める必要があります。
どのツールを用いても、開発環境になんらかの依存性を持ち込みます。さらにCythonでは新しい種類の言語(PythonとCのハイブリッド)で書く必要があるので、その習得に手間がかかります。Cythonの新しい言語を導入すると、Cを知らないメンバーがついていけず、開発チームの勢いを削ぐことになるかもしれません。ただし、実際には、Cythonを使う人は限定的ですし、よく吟味したコードの一部に用いるだけなので、それほど問題にはならないでしょう。 ...
Read now
Unlock full access