1. ホーム
  2. パイソン

[解決済み】PyPyが6.3倍速いなら、CPythonよりPyPyを使うべきじゃないのか?

2022-03-23 22:18:36

質問

について、よく耳にするようになりました。 PyPy プロジェクトに参加しています。よりも6.3倍高速だと言っています。 CPython のインタープリタです。 自社サイト .

Pythonのような動的言語について語るとき、スピードは最重要課題の1つです。これを解決するために、PyPyが6.3倍速くなったという。

第二の問題は並列性で、悪名高い グローバルインタープリターロック (GIL)です。これについては、PyPyでは は、GILなしのPythonを与えることができます。 .

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

解決方法は?

<ブロッククオート

注意 PyPyは、この質問がなされた2013年当時よりも成熟し、サポートが充実しています。古くなった情報から結論を出すのは避けましょう。


  1. PyPyは、他の人がすぐに言及したように、C拡張のサポートが希薄です。サポートはありますが、通常Pythonよりも遅い速度で、せいぜいあやふやなものです。そのため、多くのモジュールは単にCPythonを必要とします。 . 一部の拡張機能はまだサポートされていません( <ストライク パンダ , <ストライク SciPy など)を見てみましょう。 サポートされているパッケージの一覧 を変更してください。 なお、リスト上でunsupportedと表示されている多くのパッケージは、現在サポートされています。
  2. Python 3 対応 <ストライク は、現時点では実験的なものです。 が安定期に入りました! 2014年6月20日時点の情報です。 PyPy3 2.3.1 - Fulcrum がリリースされました。 !
  3. PyPyは、多くの人がPythonを使っている"scripts"に対して、実は速くないことがあります。これは、単純で小さなことを行う短時間実行のプログラムです。PyPyはJITコンパイラなので、その主な利点は長い実行時間と単純な型(数値など)から来ています。PyPyのJIT前の速度はCPythonと比較すると悪いかもしれません。
  4. 慣性 . PyPyに移行するには、しばしば再調整が必要で、一部の人々や組織にとっては単に面倒なだけです。

以上が、私に影響を与える主な理由と言えるでしょう。