PyPy が CPython より 6.3 倍速いのに、なぜ PyPy を使わないのでしょうか? 質問する

PyPy が CPython より 6.3 倍速いのに、なぜ PyPy を使わないのでしょうか? 質問する

私はよく耳にするピピプロジェクト。彼らは、これはPython の通訳オン彼らのサイト

Python のような動的言語について話すとき、速度は常に最大の問題の 1 つです。この問題を解決するために、PyPy は 6.3 倍高速であると言われています。

2つ目の問題は並列処理です。これは悪名高いグローバル通訳ロック(GIL)。これに対してPyPyはこう言いますGILのないPythonを提供できます

PyPy がこれらの大きな課題を解決できるのであれば、より広範な採用を妨げている弱点は何でしょうか? つまり、典型的な Python 開発者である私のような人が今すぐにPyPy に切り替えることを妨げているものは何でしょうか?

ベストアンサー1

注:この質問が行われた 2013 年と比べて、PyPy はより成熟し、サポートも充実しています。古い情報から結論を導き出すことは避けてください。


  1. PyPyは、他の人がすぐに言及したように、C拡張のサポートが弱いです。サポートはありますが、通常はPythonよりも遅く、せいぜい怪しいです。そのため、多くのモジュールは単にCPythonを必要とします。サポートされているパッケージのリストただし、リストが更新された日付を確認してください。実際のサポートとは一致していないため、リストでサポートされていないとマークされているパッケージが実際にはサポートされている可能性があります。
  2. Pythonのサポートは通常いくつかのバージョンが遅れているしたがって、最新の機能が絶対に必要な場合は、PyPy がサポートするまでしばらく待つ必要があるかもしれません。
  3. PyPy は、多くの人が Python を使用する「スクリプト」では実際には高速ではない場合があります。これらは、単純で小さなことを実行する短時間実行プログラムです。PyPy は JIT コンパイラであるため、その主な利点は実行時間が長く、型が単純 (数値など) であることです。PyPy の JIT 前の速度は、CPython と比較すると劣る場合があります。
  4. 慣性。PyPy への移行には多くの場合、再調整が必要になりますが、一部の人や組織にとっては作業量が多すぎます。

これらが私に影響を与える主な理由だと思います。

おすすめ記事