実際のハードウェアとは対照的に、仮想マシン内で実行されるベンチマークはどの程度信頼できますか?
特定の状況を分析してみましょう。最近のコード変更によるパフォーマンスへの影響をベンチマークしたいとします。簡単にするために、ワークロードは完全にCPUバウンドであると想定します(ただし、IOバウンドおよび混合ワークロードも重要です)。マシンがVirtualBoxで実行されていると仮定します。これは、最適なマシンだからです;)
元のコードと新しいコードを測定し、新しいコードが5%高速であったと仮定します(仮想マシンでベンチマークした場合)。実際のハードウェアでも少なくとも5%高速になると安全に主張できますか?
そしてさらに重要な部分は、新しいコードが3%遅いと仮定します。実際のハードウェアでは3%以下遅くなるが、間違いなく3%以上遅くなることを完全に確信できますか?
更新:私が最も興味を持っているのは、戦場での結果です。つまり。VMで10%遅いコードが、実際のアイアンで5%速く実行された場合、またはその逆の場合を目撃できますか?または、常に一貫性がありましたか(つまり、VMで高速/低速の場合、実際のマシンでは常に比例して高速/低速です)?これまでのところ、鉱山は多かれ少なかれ一貫しています。少なくとも、常に同じ方向に進んでいます。