CPython
CPython は Python プログラミング言語の最も広く用いられている標準の実装である。 CPython は C言語で記述されている。CPython 以外に、製品としての品質をもつ Python 実装は Java で記述された Jython、共通言語ランタイム 用に記述された IronPython の 二つがあり、またいくつかの実験的な実装もある。Classic Python というバクロニムが、'C' の別の意味として提案されている。
CPython はバイトコードインタプリタである。C を含むいくつかの言語での外部関数インターフェイスを持っており、Python 以外の言語の言語バインディングを明示的に書く場合に使用される。
サポートされているプラットフォーム
Unix系 |
デスクトップオペレーティングシステム |
特殊用途、組み込み |
メインフレームなど |
かつてサポートされていたプラットフォーム
PEP 11 にはPython Software Foundation の CPython ではサポートされていないプラットフォームの一覧がある。これらのプラットフォームは現在でも非公式の移植版でサポートされている。下記参照。
非公式の移植版
Python Software Foundation の公式版の CPython に統合されていない移植版が存在する。
移植版には、PSP 用のグラフィックスやサウンド API や S60 用の SMS やカメラ API などのプラットフォーム固有の機能のための拡張モジュールが提供されることが多い。
並列性に関する問題
マルチプロセッサのコンピュータで CPython を用いる際の大きな問題は、各 CPython インタプリタのプロセスが持つグローバルインタプリタロックであり、これがプロセス内の Python スレッドの並列性を損なってしまう[1]。
マルチプロセッサ環境で完全な並列性を実現するためには別の CPython プロセスを動作させる必要があり、プロセス間の通信を実現することが困難な作業となる。CPython から GIL を取り除くことについては常に議論が行われている[2]。
脚注
Martelli, Alex (2006). Python in a Nutshell (2nd edition ed.). O'Reilly. pp. 5?7. ISBN 0-596-10046-9