您好我想使用clock_gettime()
函数来衡量代码的性能。
我无法理解手册页描述中函数中使用的各种时钟之间的区别。 esp
CLOCK_REALTIME,
CLOCK_PROCESS_CPUTIME_ID
CLOCK_THREAD_CPUTIME_ID
有人可以解释每个时钟的作用吗?
答案 0 :(得分:35)
CLOCK_REALTIME
报告实际的挂钟时间。
CLOCK_MONOTONIC
用于衡量相对实时。它以与实际时间流相同的速率前进,但它不会受到手动或自动(NTP)调整系统时钟的不连续性的影响。
CLOCK_PROCESS_CPUTIME_ID
用于衡量进程消耗的CPU时间。
CLOCK_THREAD_CPUTIME_ID
用于测量线程消耗的CPU时间量。它得到了自2.6.12以来的现代内核和glibc的支持,但是在较旧的Linux内核上,glibc通过简单地返回自创建线程之后进程消耗的CPU时间量来模拟它。