HiPerfTimerまたはStopWatchクラスがベンチマークに適しているかどうか、そしてその理由を誰かが知っていますか?
25580 次
3 に答える
41
ストップウォッチは高解像度タイマー(利用可能な場合)に基づいています。IsHighResolutionで確認できます。
于 2009-09-28T07:38:02.847 に答える
20
高解像度のタイミングに関しては同じです。
どちらもこれを使用します:
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(out long PerformanceCount);
この:
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(out long Frequency);
基礎となるタイミングを実行します。(これはReflector.NETで確認できます)。StopWatchはすでにフレームワークの一部であり(別のdllをリンクする必要はありません)、HiPerfTimerよりも優れた機能を備えているため、StopWatchを使用します。
于 2009-09-28T07:42:23.150 に答える
6
StopWatch-高解像度のパフォーマンスカウンターをサポートしていないシステムでも機能し、使用するために外部ライブラリは必要ありません。
もう1つは、高解像度カウンターがサポートされていない場合にWin32Exceptionをスローします。
于 2009-09-28T07:41:20.893 に答える