24

パフォーマンスだけの問題で、Python 3 は Python 2.x と比べてどうですか?

4

6 に答える 6

29

3.0は、公式ベンチマークでは2.5よりも低速です。「Python3.0の新機能」から:

3.0の一般化の最終的な結果は、Python3.0がPython2.5よりも約10%遅いpystoneベンチマークを実行することです。おそらく最大の原因は、小さな整数の特殊ケーシングの削除です。改善の余地はありますが、3.0がリリースされた後に起こります!

于 2008-10-04T16:29:03.977 に答える
7

違いは些細なことではないと思います。たとえば、リストのループはまったく同じです。

Python 3 の背後にある考え方は、言語構文自体をクリーンアップすることです。 のようなあいまいなものを削除except Exception1, Exception2し、標準モジュールをクリーンアップします (urllib、urllib2、httplib などはありません)。

パフォーマンスを改善するためにできることはあまりありませんが、ガベージ コレクションやメモリ管理コードなどにいくつかの調整が加えられると思いますが、「うわー、私のデータベース統計生成コードは半分で完了します」ということにはなりません。時間!」改善 - それは、言語ではなく、コードを改善することによって得られるものです!

実際、言語のパフォーマンスは関係ありません。すべてのインタープリター言語は、基本的に同じ速度で機能します。Python が「速い」と思う理由は、すべての組み込みモジュールと、書きやすい構文(Python3 で改善れたもの) にあるため、これらの観点から言えば、python3 のパフォーマンスは python2.x よりも優れていると思います。 .

于 2008-10-04T15:29:37.547 に答える
5

IO ライブラリは完全に再設計されており、新しい実装は純粋な Python です。これは機能的な改善ですが、現時点ではかなり遅くなります。新しいシステムの大部分を C で書き直す作業が進行中です。詳細については、これらの バグ レポートを参照してください。

于 2009-01-27T16:32:06.297 に答える
4

最終的に、そのような比較を行うのはまだ時期尚早だと思います。ベンチマークを行う前に、ベータ版が終了するまで待ちます。インタープリターはおそらくリリース前に非常に洗練されるでしょうが、全体的には、ほとんどの用途でパフォーマンスは同等であり、本当に速度を意識したアプリを実行している場合、Python は本当に使用するのに適した言語ですか?

于 2008-10-04T18:28:55.233 に答える
3

なんらかの新しい VM の計画がない限り (そのような計画は聞いたことがありません)、長期的には Py3K のパフォーマンスが、少なくとも漸近的には 2.5 のパフォーマンスに匹敵すると信じるすべての理由があります。

数か月かかるかもしれませんが、Py3k の新機能には本質的にパフォーマンスが劣るものはないため、最終的には実現します。

結論から言うと、気にする必要はないと思います。なんらかの大きな改善を期待することもできません。

于 2008-10-04T18:23:50.610 に答える
0

今は速くなるとは思いませんが、新しいパフォーマンス作業が行われる場所であり、そのすべてがバックポートされるわけではないため、最終的にはそうなると予想する必要があります。

于 2008-10-04T16:02:15.607 に答える