想问 macOS 上 clock()函数的问题。

2018-11-19 19:44:52 +08:00
 xdeng
clock_t t = clock();
sleep(10);
t = clock() - t;
printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC);

在 macOS 上为什么不是接近于 10 而是 4.0-4.5 之间?
就算不除以 CLOCKS_PER_SEC 也不是接近于 10 的数,在 QT 和 xcode 上测都是这样。
2237 次点击
所在节点    C
4 条回复
choury
2018-11-19 20:01:02 +08:00
你要明白,sleep 时进程会休眠的,不会占用 cpu 时间的
xdeng
2018-11-20 15:51:18 +08:00
@choury 好像说的对 我稍后试下
xdeng
2018-11-21 20:29:27 +08:00
@choury 试了在 Windows 上是运行时间,Linux 上市占用 cpu 时间。
choury
2018-11-21 20:55:22 +08:00
@xdeng 是的,windows 的这个函数实现的有 bug,可以看文档
https://msdn.microsoft.com/en-us/library/4e2ess30.aspx?f=255&MSPPError=-2147217396

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/509373

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX