.pyd
と呼ばれる新しいサブシステムを使用して、CPython拡張機能(つまり、
.pyd
および
.so
ファイル)を直接ダウンロードして実行できるようになりました。 別のブログ投稿で提示されたソリューション(numpy-type拡張モジュールがCPythonで起動され、TCP経由でプロキシされた)とは異なり、新しいソリューションではCPythonを実行する必要がなくなりました。 まだ完全なバイナリ互換性(Ironcladなど)には達していませんが、ほとんどの場合、拡張機能を再コンパイルするだけで十分です。
唯一の要件は、CPythonから必要なC API関数をPyPyで実装する必要があることです。 あなたがモジュールのユーザーまたは作成者であり、PyPyの一部の機能が不足している場合は、それらを実装することをお勧めします。 すでにかなりの数の人々(多くの新しい貢献者を含む)がすでに開発に参加しており、お気に入りのモジュールが機能するためにいくつかの機能を実装しています。 投稿の最後に名前のリストがあります。
速度といえば。 これらのモジュールを起動するためのオーバーヘッドがあるという事実にもかかわらず、CPython(
_sre.so
)から正規表現エンジンを開始し、Unladen Swallowベンチマークセット( speed.pypy.orgを参照)からspambayesベンチマークを通過すると、大幅な加速が得られます。 PyPyに組み込まれている通常のエンジンの2倍の速度です。
_sre.so
は、組み込みエンジンよりも数倍高速に
_sre.so
はずであるという
_sre.so
の法則に
_sre.so
ます。
現在、 PILおよびその他のモジュールの作業が進行中です。 たとえば、distutilsのサポートはほぼ完了しています。 また、これに参加したり、この新機能の使用方法に関する詳細を入手したい場合は、
#pypy
freenode IRCチャンネルにアクセスしてください。
CPyExt開発者:
- アレックス・ゲイナー
- ベンジャミン・ピーターソン
- ジャン・ポール・カルデロン
- マチェイ・フィヤルコウスキ
- ヤン・デ・ムーイ
- ルシアン・ブラネスク・ミハイラ
- アンドレアス・シュテュルク
- ズーコウィルコックスOハーン