web-dev-qa-db-ja.com

clock_gettime()のさまざまなクロックを理解する

こんにちは、コードのパフォーマンスを測定するためにclock_gettime()関数を使用したいと思いました。

関数で使用されているさまざまな種類のクロックの違いを、manページの説明から理解できません。 esp

CLOCK_REALTIME,

CLOCK_PROCESS_CPUTIME_ID

CLOCK_THREAD_CPUTIME_ID

誰かがこれらの各時計が何をしているのか説明できますか?

32
smilingbuddha

CLOCK_REALTIME実際の実時間を報告します。

CLOCK_MONOTONICは、相対的なリアルタイムを測定するためのものです。実際の時間の流れと同じ速度で進みますが、システムクロックの手動または自動(NTP)調整からの不連続性の影響を受けません。

CLOCK_PROCESS_CPUTIME_IDは、プロセスが消費したCPU時間を測定するためのものです。

CLOCK_THREAD_CPUTIME_IDは、スレッドが消費したCPU時間を測定するためのものです。 2.6.12以降、最新のカーネルとglibcでサポートされていますが、古いlinuxカーネルでは、glibcはprocessスレッドが作成された瞬間から。

http://man7.org/linux/man-pages/man2/clock_gettime.2.html

36
R..