8

PyPy Speed Centerに投稿されたベンチマークから判断すると、提示された2つのテストを除くすべてのテストで、PyPyはCPythonよりも高速であるように見えます。

CPythonは、「slowspitfire」と「waf」の2つのテストでPyPyよりも高速です。何故ですか?これらの2つのテストはどのような操作をテストしますか?これらの操作でCPythonを高速化する理由は何ですか?PyPyは、これら2つのテストでもCPythonに追いつき、打ち負かすことが期待できますか?

4

1 に答える 1

8

Tobuが言ったように、slowspitfireの説明をスケッチしたメッセージがメーリングリストにあります。GCオブジェクトを含む長いリストなどです。

wafベンチマークのパフォーマンスの違いはそれほど顕著ではなく、答えはもっと複雑になると思います。PyPyの方が優れている、CPythonの方が優れている、そして全体的なCPythonの方がわずかに進んでいます。

一般に、JITに最適化された実装が遅くなる理由はいくつかあります。

  • JITの一般的なオーバーヘッドとJITするかどうかのチェック
  • CPUとメモリのトレードオフ:CPU時間を節約するためにメモリを使用しすぎる、またはページングをより多く使用する必要がある
  • 積極的にJITを実行している、または間違ったタイミングで間違ったコードをJITしている
于 2011-05-07T18:47:00.413 に答える