5

コードでGetLocalTimeを使用して、特定の関数の処理にかかる時間を確認しています。

この目的のために、GetLocalTimeまたはGetSystemTimeのどちらが最良の選択ですか?

それらは同じですか?コードのパフォーマンスを測定する場合、どちらを使用する必要がありますか?

4

1 に答える 1

4

2 つの関数の解像度は同じです。違いはGetLocalTime、現在のタイムゾーン (つまり、UTC ではなくローカル時間) に合わせて調整されたシステム時間を返すことです。

これらの関数のいずれかを使用してコードのパフォーマンスを測定することは、おそらく理想的ではありません。代わりに、オーバーヘッドがはるかに少なく、可能な限り最高の解像度が得られるパフォーマンス カウンター関数の使用を検討します。

詳細については、MS ナレッジ ベースの記事を参照してください: QueryPerformanceCounter をタイム コードに使用する方法(サンプル コードは VB にありますが、概念は C++ にも適用されます。基本的には、QueryPerformanceCounter「ティック」の前後を取得しQueryPerformanceFrequency、ティックを変換するために使用します。秒まで)。

于 2013-07-03T04:28:25.127 に答える