|
PyPy(パイパイ)は、プログラミング言語Pythonの実装の1つであり、Pythonで記述されたPythonの処理系であることが特徴の1つである(セルフホスティング)。PyPyは、実行速度と効率、およびオリジナルのPython実装であるCPythonとの互換性に重点を置いている。 PyPyはJITコンパイル機能を持っており、実行時に(必要に応じて)コードを機械語にコンパイルして効率的に実行させる能力を持つ。 PyPyは、Pythonにいくつかの制約を加えた言語であるRPythonで記述されている。RPythonで書かれたコードをトランスレータでC言語などに変換してからコンパイルすることでPyPyの実行可能バイナリが作成できる。また、RPythonの言語仕様はPythonの言語仕様のサブセットであるため、(実行速度は低下するが)PyPyをCPython上で実行したり、PyPyをPyPy上で実行することもできる。 PyPyは、Python以外の動的言語を実装するための基盤としても使用できる。 == 詳細とプロジェクトの動機 == PyPyは、Python(の制限版であるRPython)で実装されたPythonの処理系である。したがって、Python処理系上でPyPyを動作させることも可能であるため、PyPyの中から改善できる領域を見極めることや、開発者が様々な実験的な実装を試すことが容易になっている。 PyPyは、Pythonだけでなく、一般の動的プログラミング言語の実装を作るためのツールキットおよびフレームワークとしても使うことができる。PyPyでは、言語仕様の定義とその具体的かつ低水準な実装を分離できるようにしている。Python以外の言語を本格的に実装した例として、PyPyで実装されたRubyの処理系であるTopazがある。 PyPyの目的の1つは、Pythonの柔軟かつ高速な実装を作ることである。上記のフレームワークを使うことで、低水準な詳細を混入せずに高度な機能を実装できるようになっている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「PyPy」の詳細全文を読む スポンサード リンク
|