C#を使用して.NETFramework4.5を操作しています
コードのパフォーマンスを測定したいのですが、マシン(異なるハードウェア)間で比較したいという追加の複雑さがあります。
主要な目標の1つは、アルゴリズム(データセットZを使用するアルゴリズムXとアルゴリズムY)を比較するベンチマークを作成することです。これは、まったく同じハードウェアを一貫して使用する場合は問題ありませんが、これらのパフォーマンステストを全体に分散するオプションも必要です。多くのマシン-ほとんどが異なります。
特定のマシンのパフォーマンスを効率的に測定するにはどうすればよいですか?
私は現在、System.Diagnostics.StopWatchクラスをフィボナッチスイートと組み合わせて使用しており、Xティック/ミリ秒を使用するためにマシンが処理できるシーケンスの数を測定しようとしています。ただし、すでにご存知かもしれませんが、この手法はあまり正確ではありません。
答えはStopwatch.Frequencyにありますか?
誰かもっと良い提案がありますか?
追加情報-----
例:マルチスレッドではない(コアの数は関係ありません)アルゴリズムを比較すると、シーケンシャルスキャンを実行する場合と赤黒木を使用する場合の違いのようになります。