2012-03-29 11 views
0

私は大きなスピードの利益が期待できるプロジェクトを知っていますが、それは落ち込んでしまう可能性がありますが、CPythonやPyPyをスピードアップするロードマップの仕方はあまり見えません。PyPyとCPython:大きなパフォーマンス向上が計画されていますか?

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

私はHotPy(2)がCPythonを高速化する計画の概要を持っていることを知っていますが、コアCPythonでは苦労のない1人のプロジェクトのように思えます。

PyPyのパフォーマンスはあまり良くありませんが約some informationですが、ドキュメントではスピードアップの大きな目標は見つけられません。

したがって、Python実装のパフォーマンスを大幅に向上させる可能性のあるターゲットはありますか?

+5

PyPyが2年足らずで3倍に改善されました。あなたはもっと何を期待していますか?彼らは来年にどれくらい速くなるかを事前に教えてくれるのですか? –

+1

さらに最適化したいコードについて質問した方が、はるかに興味深いでしょう。 – bernie

+1

@TryPyPy - パフォーマンス向上が必要なプログラムの種類は何ですか?これらのプログラムのどの部分を改善する必要がありますか?あなたはPyPyとCPythonの開発者に、これらの分野で何かが変わる可能性があるかの助けや兆候について尋ねましたか? – gbulmer

答えて

9

私はPyPyについての部分に答えます。私はCPythonについては話すことができませんが、パフォーマンスの改善が進んでいると思います。

実際にはそうではないので、プロジェクト計画はありません。すべての主要な部分(「JIT」や「ガーベジコレクション」など)は本質的に行われていますが、完全にすべてが高速であるとは限りません。遅いものは間違いなく、一般的にはケースバイケースで改善しています。何かが遅すぎると思ったらバグレポートを提出してください。間違いなくねじれを助けてくれる私のプレートにはかなりのパフォーマンス改善がありますが、私は他のものについては全く考えていません。その上で働いされている

ビッグ事が言及する価値があるかもしれない:(ループが含まれているなど)、インライン化されていない再帰や機能の呼び出しを助けるべき

  • 改善されたフレーム、

  • 連結、スライシングなど、さまざまな種類の用途に適した文字列の実装それは物事をスピードアップするでしょうかまたはどのくらいの時に開封された結果に

を格納

  • より高速なトレース

  • よりコンパクトタプルとオブジェクトが、私は約束することはできますか?絶対にそうではありませんが、通常は4〜10ヶ月ごとに10〜30%の速さでリリースがリリースされますので、いくつかのものは速くなりますが、クリスタルボールや私はあなたに確かに言わないでしょう。

    乾杯、 fijal

  • +0

    この質問をして以来、興味深いプロジェクト/ゴール/問題であなた自身が2つのリンクを見つけました:http://lostinjit.blogspot.com/ 2012/02/pypy-and-its-future-challenges.htmlおよびhttp://doc.pypy.org/en/latest/project-ideas.htmlを参照してください。これらの記事とあなたの答えを公式ブログの記事としてまとめておくことをお勧めします。多くの既知の潜在的な改善点があることを人々に示し、遅かれ早かれ多くの改善が起こると推測します。 – TryPyPy

    +0

    はいいアイデアのように聞こえます – fijal

    3

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

    現在のところ、PyPyプロジェクトには多くのアクティビティがあり、毎日改善しています。
    非常に高度な開発段階にはnumpyポートがあり、ctypes、Cython互換性を改善しています。まもなく完全なPython3実装が予定されています。

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

    +0

    ありがとう、私は現在の状況(例えばhttp://speed.pypy.org)を知っていますが、私は改善のための計画を探していました。たとえば、http://code.google.com/p/unladen-swallow/ wiki/ProjectPlan。 HotPy(2)の質問のリンクを参照してください:CPythonを高速化する提案ですが、まだソロプロジェクトのように見えます。 – TryPyPy

    +0

    ねえ、あなたは正しい!私はHotpyについて知りませんでした(2)。私はMark ShannonのオリジナルのHotpyプロジェクトについて知っていましたが、cpythonにはまったく関係ありませんでした。 Unladen Swalowに関しては、残念ながらそれはどこにも行きませんでした。今度はプロジェクトが死んでいます... –

    2

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

    私は、cpythonの性能がもう(Web開発者の仕事のために)カットされないと、pypyは完全にプライムタイムの準備ができていると思います。 Raymond Hettinger(コアPython開発者)は、PyPyを「最適化を有効にしたPython」と呼んでいます。