首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_MONOTONIC_RAW值。

CLOCK_REALTIME、CLOCK_MONOTONIC、CLOCK_MONOTONIC_RAW值。
EN

Stack Overflow用户
提问于 2017-12-01 17:26:42
回答 1查看 613关注 0票数 0

我运行了基本的代码片段。

代码语言:javascript
复制
void emptyFunction(){
};

int main(){

const int conversion = 1000000000;
unsigned long long func_sum = 0;
clock_gettime(CLOCK_REALTIME, &funcTimeStart);
emptyFunction();
clock_gettime(CLOCK_REALTIME, &funcTimeEnd);

func_sum=((funcTimeEnd.tv_sec*nanoConversion)+funcTimeEnd.tv_nsec)-((funcTimeStart.tv_sec*nanoConversion)+funcTimeStart.tv_nsec);

这是为了测试运行一个空函数所需的时间。

我每次运行它们10次,我的值如下所示:

如果我使用:

CLOCK_REALTIME -我的值是57-108纳秒

CLOCK_MONOTONIC -我的值为39-98纳秒

CLOCK_MONOTONIC_RAW - my值为282-487纳秒

CLOCK_PROCESS_CPUTIME_ID - my值为662-1049纳秒

根据我的理解,CLOCK_REALTIME使用挂钟时间来测量,而CLOCK_PROCESS_CPUTIME_ID使用CPU运行代码的时间。那么CLOCK_PROCESS_CPUTIME_ID不是总是有一个较小的数字吗?为什么这里不是这样呢?

EN

回答 1

Stack Overflow用户

发布于 2019-02-04 15:55:14

您没有测量空函数的执行时间,而是测量了clock_gettime()函数实现中的开销量。当然,这取决于您传递的clockid_t。--汉斯·帕桑特

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47590231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档