首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在许多情况下,所谓的实际时钟/秒大于1,000,000?

为什么在许多情况下,所谓的实际时钟/秒大于1,000,000?
EN

Stack Overflow用户
提问于 2016-02-26 20:59:13
回答 1查看 33关注 0票数 0

在问题CLOCKS_PER_SEC not actually clocks per sec之后,我的多核机器上的相同代码提供了:

代码语言:javascript
复制
CLOCKS_PER_SEC = 1000000
Actual clocks per second = 89815
Actual clocks per second = 999801
Actual clocks per second = 998912
Actual clocks per second = 999911
Actual clocks per second = 1000019
Actual clocks per second = 999997
Actual clocks per second = 1000194
Actual clocks per second = 1000182
Actual clocks per second = 1000216
Actual clocks per second = 999990

为什么在少数情况下,实际时钟/秒会大于1,000,000?是因为多核吗?我们如何解释这一点?

我在硬件Architecture: x86_64 CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Model name: Intel(R) Core(TM) i7-4910MQ CPU @ 2.90GHz CPU MHz: 967.195 CPU max MHz: 3900.0000 CPU min MHz: 800.0000上运行Linux kernel 4.0.4-202 Fedora 21

EN

回答 1

Stack Overflow用户

发布于 2016-02-26 21:58:56

在繁忙的系统上,正在运行的测试程序不会被授予所有的CPU能力。

因此,不能保证它在一段时间内不会被暂停。如果在进程等待CPU时发生从一秒到下一秒的转换,则下一次clock()调用将延迟发生,从而导致“超过一秒”的增量。

或者,您看到的变化可能是由于在clock()调用中发生了一些舍入。

在任何情况下,我都不会在各种系统上重现它,无论是单核还是多核。

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

https://stackoverflow.com/questions/35652395

复制
相关文章

相似问题

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