Cython

曖昧さ回避 CPython」とは異なります。
Cython
作者 Robert Bradshaw、Stefan Behnel など
最新版
3.0.10[1] / 2024年3月30日 (40日前) (2024-03-30)
最新評価版
3.0.0 alpha 11 / 2022年 (2年前) (2022)
リポジトリ
  • github.com/cython/cython
ウィキデータを編集
プログラミング
言語
C, Python
対応OS Windows, macOS, Linux
プラットフォーム クロスプラットフォーム
ライセンス Apache License2.0
公式サイト cython.org ウィキデータを編集
テンプレートを表示

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で書かれており、WindowsLinuxmacOSで実行できる。

脚注

  1. ^ 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)