パフォーマンスだけの問題で、Python 3 は Python 2.x と比べてどうですか?
6 に答える
3.0は、公式ベンチマークでは2.5よりも低速です。「Python3.0の新機能」から:
3.0の一般化の最終的な結果は、Python3.0がPython2.5よりも約10%遅いpystoneベンチマークを実行することです。おそらく最大の原因は、小さな整数の特殊ケーシングの削除です。改善の余地はありますが、3.0がリリースされた後に起こります!
違いは些細なことではないと思います。たとえば、リストのループはまったく同じです。
Python 3 の背後にある考え方は、言語構文自体をクリーンアップすることです。 のようなあいまいなものを削除except Exception1, Exception2
し、標準モジュールをクリーンアップします (urllib、urllib2、httplib などはありません)。
パフォーマンスを改善するためにできることはあまりありませんが、ガベージ コレクションやメモリ管理コードなどにいくつかの調整が加えられると思いますが、「うわー、私のデータベース統計生成コードは半分で完了します」ということにはなりません。時間!」改善 - それは、言語ではなく、コードを改善することによって得られるものです!
実際、言語のパフォーマンスは関係ありません。すべてのインタープリター言語は、基本的に同じ速度で機能します。Python が「速い」と思う理由は、すべての組み込みモジュールと、書きやすい構文(Python3 で改善されたもの) にあるため、これらの観点から言えば、python3 のパフォーマンスは python2.x よりも優れていると思います。 .
最終的に、そのような比較を行うのはまだ時期尚早だと思います。ベンチマークを行う前に、ベータ版が終了するまで待ちます。インタープリターはおそらくリリース前に非常に洗練されるでしょうが、全体的には、ほとんどの用途でパフォーマンスは同等であり、本当に速度を意識したアプリを実行している場合、Python は本当に使用するのに適した言語ですか?
なんらかの新しい VM の計画がない限り (そのような計画は聞いたことがありません)、長期的には Py3K のパフォーマンスが、少なくとも漸近的には 2.5 のパフォーマンスに匹敵すると信じるすべての理由があります。
数か月かかるかもしれませんが、Py3k の新機能には本質的にパフォーマンスが劣るものはないため、最終的には実現します。
結論から言うと、気にする必要はないと思います。なんらかの大きな改善を期待することもできません。
今は速くなるとは思いませんが、新しいパフォーマンス作業が行われる場所であり、そのすべてがバックポートされるわけではないため、最終的にはそうなると予想する必要があります。