高速なPythonの実行環境「PyPy 7.3.1」リリース

 PyPyチームは4月10日、Python実行環境「PyPy 7.3.1」を公開した。Python 2.7をサポートするPyPy2.7系と、Python 3.6をサポートするPyPy3.6系の2つが同時にリリースされている

 PyPyはPythonのサブセットである「RPython」で実装されたPython実行環境。Cで実装された標準のPython実装(CPython)と比較して、一般的にPythonコードをより高速に実行できるのが特徴。C/C++で実装されたPythonモジュールもサポートするなど、Pythonとの高い互換性を備えるという。また、スタックを使用しない「スタックレスモード」も提供する。

 PyPy 7.3.1は2019年12月に公開したPyPy 7.3の最初のポイントリリース。Python 2.7のシンタックスと機能をサポートし、CPython 2.7.13向け標準ライブラリを含むPyPy2.7、Python 3.6をサポートしCPython 3.6.9向け標準ライブラリするPyPy3.6の2種類が提供される。どちらも7.3からAPIの変更はない。

 本バージョンでの変更点としては、Conda ForgeがPythonインタープリタとしてPyPyをサポートするようになった。これによってC拡張ベースのパッケージの構築とアップロードが可能になる。また、外部パッケージの構築ツールでPythonパッケージチームとの協業を進め、一緒にインストールされるpipとsetuptoolsがアップデートされている。

 性能面では、ウォームアップ時間を最大20%改善した。io.StringIOの性能も強化し、CPythonに匹敵するレベルになったと報告している。JITコード生成、クロージャーなどでも高速化が図られている。

 Cで実装されたコードをPythonから利用できるようにするCFFIバックエンドはバージョン14.0にアップデートされた。また、C++コードを利用するためのcppyyでは実験的にwin32環境がサポートされた。

なお、PyPyとCFFIの開発はHeptapod(https://foss.heptapod.net/pypy/pypy)に移管を進めていることも報告している。

PyPy
https://www.pypy.org/