パフォーマンス:Python 3.x対Python 2.x [終了]
-
05-07-2019 - |
質問
パフォーマンスだけの問題で、Python 3はPython 2.xと比較してどうですか?
解決
3.0は、公式ベンチマークでは2.5より遅いです。 " Python 3.0の新機能" から:
3.0の最終結果 一般化は、Python 3.0 pystoneベンチマークを約10%実行します Python 2.5よりも遅い。最も可能性が高い 最大の原因は 小さな整数の特別なケース。 改善の余地はありますが、 3.0のリリース後に発生します!
他のヒント
違いは些細なものになると思います。たとえば、リストのループはまったく同じになります。
Python 3の背後にある考え方は、言語構文自体をクリーンアップすることです- except Exception1、Exception2
のような曖昧なものを削除し、標準モジュール(urllib、urllib2、httplibなどなし)をクリーンアップします。
パフォーマンスを改善するためにできることはあまりありませんが、ガベージコレクションやメモリ管理コードのようなものには微調整があると思いますが、それは" Wow、my database statistic generationにはなりませんコードは半分の時間で完了します!」改善-それは言語ではなくコードを改善することで得られるものです!
本当に、言語のパフォーマンスは無関係です-すべての解釈された言語は基本的に同じ速度で機能します。 Pythonが「高速」だと思う理由はすべて組み込みのモジュールであり、記述しやすい構文です。これはPython3で が改善されているため、これらの用語で、はい、python3のパフォーマンスはpython2.xよりも優れていると思います。 。
最終的には、そのような比較を行うにはまだ早すぎると思います。ベンチマークを行う前に、ベータ版がなくなるまで待ちます。インタープリターはおそらくリリース前に非常に洗練されますが、全体的にはほとんどの用途でパフォーマンスは同等であり、本当に速度を重視するアプリを実行している場合はPythonは本当に正しい言語ですか?
何らかの新しいVMの計画がある場合(およびそのような計画を聞いたことがない場合)を除き、長期的にはPy3Kのパフォーマンスが少なくとも漸近的に同等になると信じる理由はすべてあります。 2.5のもの
数か月かかる場合がありますが、Py3kの新機能には本質的にパフォーマンスが低いものはないため、最終的には発生します。
結論として、私はそれを心配する場所はないと思います。何らかの大きな改善を期待することもありません。
今は高速になりませんが、最終的には新しいパフォーマンス作業が行われ、すべてがバックポートされるわけではないため、そうなると予想する必要があります。