Cython
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| 開発元 | Robert Bradshaw、Stefan Behnel など |
|---|---|
| 最新版 | 0.20.1 / 2014年2月11日 |
| 対応OS | クロスプラットフォーム |
| 種別 | プログラミング言語 |
| ライセンス | Apache License |
| 公式サイト | http://cython.org/ |
Cython は、C言語によるPythonの拡張モジュールの作成の労力を軽減することを目的として開発されたプログラミング言語である。その言語仕様はほとんど Python のものと同じ (上位互換) だが、Cの関数を直接呼び出したり、C言語の変数の型やクラスを宣言できるなどの拡張が行われている。Cython の処理系ではソースファイルを C のコードに変換し、コンパイルすれば Python の拡張モジュールになるようにして出力する。
このように C と Python をシームレスに取り混ぜて扱う Cython の利点の一つは、既にある Python コードを、いくつかの静的な型 (static type, en) を宣言して律速なループをうまく書き直すだけで、コンパイル後のコードの実行速度がC言語並みに高速化されることである。複雑なC言語インターフェイスを使う必要はない。コーディングのしやすさと可読性は Python と変わらない、つまり Pythonic (en) なままである。数値計算/配列操作では、多くの場合実行速度がおおよそ100倍になる。Python の JIT コンパイラである Psyco の場合はおおよそ 4 倍である。
Cython は Pyrex 言語から派生したもので、Pyrex に比べると様々な機能や高度な最適化が加えられている。
フリーの数値計算・数式処理システムであるSAGE の一部は Cython で書かれている。
Cython の処理系は Python で書かれており、Windows、Linux、Mac OS X で実行できる。