Cython
![]() | 「CPython」とは異なります。 |
![]() | |
作者 | Robert Bradshaw、Stefan Behnel など |
---|---|
最新版 | 3.0.10[1] / 2024年3月30日 (4か月前) (2024-03-30) |
最新評価版 | 3.0.0 alpha 11 / 2022年 (2年前) (2022) |
リポジトリ |
![]() |
プログラミング 言語 | C, Python |
対応OS | Windows, macOS, Linux |
プラットフォーム | クロスプラットフォーム |
ライセンス | Apache License2.0 |
公式サイト | cython![]() |
テンプレートを表示 |
Cython(サイソン)は、C言語によるPythonの拡張モジュールの作成の労力を軽減することを目的として開発されたプログラミング言語である。その言語仕様はほとんどPythonのものと同じ (上位互換) だが、Cの関数を直接呼び出したり、C言語の変数の型やクラスを宣言できるなどの拡張が行われている。Cythonの処理系ではソースファイルをCのコードに変換し、コンパイルすればPythonの拡張モジュールになるようにして出力する。
このようにCとPythonをシームレスに取り混ぜて扱うCythonの利点の一つは、既にあるPythonコードを、いくつかの静的な型 (static type) を宣言して律速なループをうまく書き直すだけで、コンパイル後のコードの実行速度がC言語並みに高速化されることである。複雑なC言語インターフェイスを使う必要はない。コーディングのしやすさと可読性はPythonと変わらない、つまりPythonic(英語版)なままである。数値計算/配列操作では、多くの場合実行速度がおおよそ100倍になる。PythonのJITコンパイラであるPsycoの場合はおおよそ4倍である。
CythonはPyrex言語から派生したもので、Pyrexに比べると様々な機能や高度な最適化が加えられている。
フリーの数値計算・数式処理システムであるSAGEの一部はCythonで書かれている。
Cythonの処理系はPythonで書かれており、Windows、Linux、macOSで実行できる。
脚注
- ^ https://github.com/cython/cython/releases/tag/3.0.10
関連項目
参考
- Cython ホームページ
- Kurt W. Smith, 中田 秀基(訳), 長尾 高弘(訳):「Cython - Cとの融合によるPythonの高速化」、O'Reilly Japan, Inc.、ISBN9784873117270(2015年6月)。
- "Welcome to Cython's Documentation"
- ”Cython 3.0: The next generation of Python at the speed of C”, InfoWorld(July, 17th, 2023)