0

大幅な速度向上を約束するプロジェクトが失敗に終わる可能性があることは知っていますが、CPython や PyPy を高速化するためのロードマップはあまり見当たりません。

それらのいずれかで、コア インタープリター (たとえば--with-computed-gotos ) の速度を大幅に向上させることを約束する計画はありますか? 彼らの標準ライブラリ (例: C のDecimal 、CIO ) はどうですか?

HotPy(2)が CPython を高速化するための計画の概要を持っていることは知っていますが、それはコア CPython に大きな牽引力がない 1 人のプロジェクトのように思えます。

PyPy には、パフォーマンスが優れていない場所に関する情報がいくつかありますが、ドキュメントで高速化の大きな目標を見つけることはできません。

では、Python 実装のパフォーマンスを大幅に改善できる既知のターゲットはありますか?

4

3 に答える 3

8

PyPyに関する部分にお答えします。CPython について話すことはできませんが、現在取り組んでいるパフォーマンスの改善があると思います (ただし、これについては引用しないでください)。

実際にはそのように機能していないため、プロジェクト計画はありません。すべての主要部分 (「JIT」や「ガベージ コレクション」など) は基本的に完了していますが、すべてが高速であるとは限りません。遅いものは確かにあり、通常はケースバイケースで改善します。何かが遅すぎると思われる場合は、バグ レポートを送信してください。私のプレートにはかなりのパフォーマンスの改善があり、間違いなくツイストに役立ちますが、他のものについてはわかりません.

言及する価値があるかもしれない、取り組んでいる大きなこと:

  • インライン化されていない再帰呼び出しと関数呼び出し (ループを含むものなど) を支援する改善されたフレーム

  • 連結、スライスなど、さまざまな用途向けのより優れた文字列実装。

  • 高速トレース

  • ラップされていない結果を格納する、よりコンパクトなタプルとオブジェクト

いつ、どのくらいスピードアップするか約束できますか? 絶対にそうではありませんが、平均して、リリースごとに 10 ~ 30% の速度向上を実現しています。これは通常 4 か月ごとに行われます。タイムマシン、確かなことは言えません。

乾杯、フィハル

于 2012-03-30T17:45:43.647 に答える
3

あなたのコメントは多くの混乱を招きます...
PyPy と Python は現在、パフォーマンス機能が大きく異なります。
Pypy は現在、平均して CPython よりも 5 倍以上高速です。
HotPy は CPython とは何の関係もありません。これは 1 人のプロジェクトであり、まったく新しい VM です (まだリリースされていないため、パフォーマンスについては何も言えません)。

現在、PyPy プロジェクトには多くの活動があり、日々改善されています。
非常に高度な開発段階にある numpy ポートがあり、ctypes と Cython の互換性が改善されており、間もなく完全な Python3 の実装が行われる予定です。

PyPy は現在、V8 JavaScript エンジンや同様のプロジェクトとパフォーマンスの点で対になっていると思います。
速度と Python が必要な場合は、このプロジェクトに注目してください。

于 2012-03-29T22:31:53.480 に答える
2

答えは、PyPyCPythonを高速化する計画であるということです。PyPyは、高度に最適化された非常に準拠したPythonインタープリターになることを目指しています。プロジェクトは、見つけたすべてのベンチマークをまとめて収集し、パフォーマンスの低下を防ぐために、pypyのビルドごとにすべてを実行します。それをチェックしてください:http ://speed.pypy.org/

cpythonのパフォーマンスが(Web開発作業のために)それをカットしなくなる頃には、pypyは完全にプライムタイムの準備ができていると思います。Raymond Hettinger(コアPython開発者)は、PyPyを「最適化がオンになっているPython」と呼んでいます。

于 2012-04-01T23:03:54.217 に答える