0

私はインタープリターを実装していますが、いくつかの干渉の後、最終的にまともなパフォーマンスを得ることができました.私の仕事用PCでは、コア2プロセッサで、インタープリターのパフォーマンスは同じネイティブコードよりも約7%低く、私にとってはかなり良い.

それから家に帰ってそこでベンチマークを実行したところ、解釈されたコードとネイティブ コードの差は約 60 ~ 70% まで上昇しました。

私の質問は、なぜその大きな違いがあるのですか? コア 2 プロセッサは、メモリのボトルネック、ネイティブ コードの枯渇、解釈されたコードに近いパフォーマンスの「均等化」に苦しんでいる可能性がありますか? それとも、i7 プロセッサの方が処理効率が高いのでしょうか。追加機能を利用してインタープリターのパフォーマンスを最大化し、i7 のネイティブ パフォーマンスに近づける方法はないでしょうか?

テストは、次のコードに基づいています: VM / インタープリターのパフォーマンス改善戦略?

仕事用 PC - コア 2 デュオ @ 3GHz、4 GB の DDR2 RAM、Windows 7、GCC

ホーム PC - ivy bridge i7 @ 4GHz、16 GB の DDR3 RAM、Windows 7、GCC

-O3 最適化でコンパイルされた場合、最適化のレベルが異なっていても、ほとんどまたはまったく違いはありませんでした

また、HDD の使用を避けるために、ベンチマークがメモリに収まるようにしました。

4

0 に答える 0