pypy の実装を c ファイルに変換し、2G メモリと Intel Core2 2GHz CPU を搭載した最新のノートブックで pypy-c をビルドするには、数時間かかります。
CPUを集中的に使用するタスクであることは知っていますが、それほど遅くする必要がありますか? 計算を減らし、計算順序を再編成し、時間を数十分に短縮する機会や余地はありますか?
pypy の実装を c ファイルに変換し、2G メモリと Intel Core2 2GHz CPU を搭載した最新のノートブックで pypy-c をビルドするには、数時間かかります。
CPUを集中的に使用するタスクであることは知っていますが、それほど遅くする必要がありますか? 計算を減らし、計算順序を再編成し、時間を数十分に短縮する機会や余地はありますか?
免責事項: 私は PyPy の専門家ではありません。特に、RPython の翻訳の詳細を理解していません。ドキュメントと、メーリング リストやブログで耳にしたことを引用しているだけです。
「CPU を集中的に使用するタスク」? 今月のアンダーステートメントにノミネートされました。私自身、翻訳プロセスの詳細をよく理解していませんが、いくつかの分析および最適化パスのそれぞれが、非常に複雑な作業を非常に多くのコードに対して行っていることは言えます。
gcc -O2
。もちろん、これには多くの解析とチェックが必要であり、それ自体にも多くの分析と最適化のパスが必要です。ええ、それはかなりおかしな巨大な仕事です。あなたのちっぽけな CPU が失われたのも不思議ではありません。参考までに、PyPy 関係者は、2010 年 11 月に翻訳プロセスのベンチマークを行ったときに Intel Xeon W3580 (3.33 GHz) を使用しました。12 GB の RAM も持っていたにもかかわらず、約 76 分かかりました。これは次の問題につながります。プロセスには大量の RAM が必要です (当時の 64 ビット Ubuntu では 2.3 GB で、どのように数字は状況に応じて変換されます)。最終的に物理 RAM を超えてしまうことは間違いありません。過剰なスワッピングと関連するキックをパフォーマンスの股間に入力してください。
それは、CPU 時間と RAM を盗む他のいくつかのプログラムをおそらく実行していたという事実と相まって、私の意見では、あなたの経験をかなりよく説明しています。PyPy の翻訳は、より強力なコンピューター用に予約されています。この時代を根本的に改善できる何かがあるとしても、私たちのような部外者がそれを見つけることはまずありません. これらの心配は開発者に任せます。