Cythonとは
Python 用の C言語拡張機能を簡単に実装できる言語。書き方はPythonとほぼ同じだが、C言語の関数を直接呼び出したり、C言語の変数の型やクラスを宣言できるなど可能である。PythonコードをC言語に変換し、コンパイルすればPythonの拡張モジュールが出力できる。
使い方
pipでCythonをインストール。
pip install Cython
高速化したいPythonコードを書く。
sample.pyx
def func(int n):
for i in range(1, n):
i = i + 1
print(i)
Cython実行用のコードを書く。
setup.py
from setuptools import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("sample.pyx")
)
以下のコマンドでビルドを行う。
python setup.py build_ext --inplace
ビルドしたプログラムの呼び出し方。
sample_call.py
import sample
if __name__ == "__main__":
sample.func(10000000)
まとめ
CythonでC/C++言語でビルドして、Pythonモジュール化による高速化の備忘録でした。