C のタイマー関数を使用したナノ秒単位の時間の測定
経過時間をナノ秒単位で正確に測定するには、Linux および BSD の Clock_gettime() 関数を使用します。システムと Windows 上の QueryPerformanceCounter() 関数は、
Linux および BSD のクロック_gettime()
クロック_gettime() を使用してナノ秒の解像度で現在時刻をキャプチャします:
#include <sys/time.h> int main() { timespec ts; clock_gettime(CLOCK_REALTIME, &ts); }
QueryPerformanceCounter() についてWindows
Windows で QueryPerformanceCounter() API を使用して、ナノ秒単位で時間を測定します。
#include <windows.h> int main() { LARGE_INTEGER startTime; QueryPerformanceCounter(&startTime); }
QPC に関する考慮事項
while QueryPerformanceCounter( ) は広く使用されていますが、デュアルコア AMD では特定の制限に直面する可能性があります。 Windows XP および一部のチップセット上の Athlon X2 CPU。
マイクロ秒精度の代替
C の Clock()` 関数は、マイクロ秒精度のみを提供する場合があります。ナノ秒レベルの精度を実現するには、次の代替手段の使用を検討してください。
注: 時間の測定値は、システム構成と負荷によって大幅に異なる場合があります。最も正確な結果を得るには、システム固有のタイミング手法について信頼できる情報源を参照してください。
以上がC タイマー関数を使用してナノ秒単位で時間を測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。