こんにちは、コードのパフォーマンスを測定するためにclock_gettime()
関数を使用したいと思いました。
関数で使用されているさまざまな種類のクロックの違いを、manページの説明から理解できません。 esp
CLOCK_REALTIME,
CLOCK_PROCESS_CPUTIME_ID
CLOCK_THREAD_CPUTIME_ID
誰かがこれらの各時計が何をしているのか説明できますか?
CLOCK_REALTIME
実際の実時間を報告します。
CLOCK_MONOTONIC
は、相対的なリアルタイムを測定するためのものです。実際の時間の流れと同じ速度で進みますが、システムクロックの手動または自動(NTP)調整からの不連続性の影響を受けません。
CLOCK_PROCESS_CPUTIME_ID
は、プロセスが消費したCPU時間を測定するためのものです。
CLOCK_THREAD_CPUTIME_ID
は、スレッドが消費したCPU時間を測定するためのものです。 2.6.12以降、最新のカーネルとglibcでサポートされていますが、古いlinuxカーネルでは、glibcはprocessスレッドが作成された瞬間から。