嗨,我想使用该clock_gettime()函数来测量我的代码的性能.
我无法理解手册页描述中函数中使用的各种时钟之间的区别.ESP
CLOCK_REALTIME,
CLOCK_PROCESS_CPUTIME_ID
CLOCK_THREAD_CPUTIME_ID
Run Code Online (Sandbox Code Playgroud)
有人可以解释每个钟表的作用吗?
R..*_*R.. 37
CLOCK_REALTIME 报告实际的挂钟时间.
CLOCK_MONOTONIC用于测量相对实时.它以与实际时间流相同的速率前进,但不会受到系统时钟的手动或自动(NTP)调整的不连续性影响.
CLOCK_PROCESS_CPUTIME_ID 用于测量进程消耗的CPU时间量.
CLOCK_THREAD_CPUTIME_ID用于测量线程消耗的CPU时间量,但Linux不支持它.glibc通过简单地返回自创建线程之后的进程消耗的CPU时间量来模拟它.
更新:似乎现代内核和glibc现在支持CLOCK_REALTIME正确.我没有详细介绍它何时修复.
| 归档时间: |
|
| 查看次数: |
22445 次 |
| 最近记录: |