私は答えを探し回りましたが、多くは古いか時代遅れのようです。Python 3 はまだ更新されているので、Python 2.7 よりもかなり高速になっていますか?それとも、実行可能なコードに固執するほうがよいのでしょうか?
4 に答える
問題は速度ではありません。どちらも同じ速度であるか、Python 3.x の方が高速です (参照するベンチマークによって異なります)。具体的に言うと、以前は Python 2 の方が高速でしたが、現在では互角 (?) になっているようです。コメントとこのスライド デッキ(後ろの方) を参照してください。
コア開発者は、Python 3 の最適化にも積極的に取り組んでいます。Python 3 の新しいリリースはそれぞれ、前回よりも高速になっています。python-dev メーリング リストを監視することで、Python の最適化に関する最新の提案やアイデア (および多くの複雑な問題) に遅れずについていくことができます。
むしろ、多くの人が更新されていないことを指摘していた理由は、Python 3 が登場したとき、そしてその後数年間、Python ライブラリの大部分が Python 3.x で動作するように更新されていなかったからです。しかし、ありがたいことに、この状況は今日では大幅に改善されています。現在、サードパーティ ライブラリの大部分は Python 3 と互換性があります。
Python FAQに詳細が含まれています。また、 Python Wall of SuperpowersまたはPy3 Readinessを確認して、現在 Python 3 と互換性がある一般的な Python ライブラリの概要を確認することもできます。
更新: (2017 年夏)
Python 2 のサポートが 2020 年に正式に終了することに注意する義務があると感じています。
多くのサードパーティ ライブラリも同様に計画しています。科学エコシステムの大部分 (matplotlib、pandas、ipython など) は2020 年に Python 2 のサポートを終了する予定であり、Django はサポートを終了しています ...他のライブラリが同じことをすると驚く。
したがって、Python またはお気に入りのライブラリの最新かつ最高の機能を確実に使用できるようにすることに関心がある場合は、遅かれ早かれ Python 3 への移行を検討する必要があります。
Python 2 から 3 コードへの変換に関するガイドを次に示します。
参考までに、Python 2.7 と Python 3.3 を比較したパフォーマンス ベンチマークを次に示します。Python 3.3 は Python 2.7 より高速です。
Python 3.3 には、メモリ消費を削減する Unicode 文字列の最適化が含まれていました。より多くのコードがキャッシュに収まる場合、それはより高速なコードに変換される可能性があります。
実際に知る唯一の方法は、最も重要なコードを両方でベンチマークし、違いを確認することです。
アプリケーションにライブラリが必要かどうかによって、Python3 と Pyhton2 のどちらが優れているかが決まります。