iOS 设备上的 ctime 无法正确测量时间

Posted

技术标签:

【中文标题】iOS 设备上的 ctime 无法正确测量时间【英文标题】:ctime on iOS device not measuring time properly 【发布时间】:2011-10-27 15:39:36 【问题描述】:

我需要计算一段代码执行所需的时间,现在我正在使用clock_t,如下所示:

clock_t start = clock();

/* Do something here */

float executionTime = (clock()-(float)start) / CLOCKS_PER_SEC;

这在模拟器中有效,但在设备上运行时,该值始终低于应有的值。当同时运行模拟器和我的设备时,模拟器首先完成,但当我的设备完成时,它的执行时间更短。

模拟器代码和设备代码之间的唯一区别是有几个函数是用 ARM 程序集为设备编写的。

如果这与我使用 Xcode 4.1 和 ios 4.3 相关。

【问题讨论】:

什么值低于应有的值?如果值为 executionTime,则可能是关闭的 CLOCKS_PER_SEC,这并非闻所未闻。如果它的开始是关闭的,那么你知道它是时钟()。 执行时间低于设备上应有的时间。如果是 CLOCKS_PER_SEC 关闭,是否可以修复它? 【参考方案1】:

您是否尝试过改用gettimeofday(2)mach_absolute_time()

【讨论】:

我更愿意先尝试让clock() 工作,否则我会使用这些功能。【参考方案2】:

似乎在我重新启动计算机后,我的设备 clock() 再次工作。感谢所有花时间回复的人(:

【讨论】:

以上是关于iOS 设备上的 ctime 无法正确测量时间的主要内容,如果未能解决你的问题,请参考以下文章

iOS SDWebImage - 如何正确处理不同设备上的视网膜图像?

解析未将 iOS 8 设备上的新安装添加到数据浏览器

Cordova 应用程序无法在 iOS 设备上正确显示

iOS Cordova 应用程序无法在设备上正确加载

VMware上的macOS无法识别iOS设备

YouTube iOS SDK:正确的 GTLQueryYouTube 参数以过滤出无法在移动设备上播放的视频?