【发布时间】:2012-08-15 01:36:00
【问题描述】:
我想知道在 iPad 上运行的某个功能所消耗的确切时间。 由于某种原因,我在运行应用程序时无法将 iPad 连接到 macbook(USB 被其他设备占用)。
我曾尝试使用clock(),像这样
clock_t start = clock();
/* Do something here */
double executionTime = (double)(clock()-start) / CLOCKS_PER_SEC;
我不知道为什么 executionTime 的值为 0。 开始时间和结束时间的差大约是 1,000,000,000(我自己计算)。但是我无法得到正确的 CLOCKS_PER_SEC(它每次都会改变),所以我不知道那个数字的含义。
我阅读了“iOS 设备上的 ctime 无法正确测量时间”的帖子,但它没有帮助。 有没有办法修复 CLOCKS_PER_SEC?或者还有其他方法可以测量时间。
谢谢
CLK_TCK 的值为 1,000,000。 整个程序在 5 秒内结束。
【问题讨论】:
-
“CLOCKS_PER_SEC 每次都变化”是什么意思。 CLOCKS_PER_SEC是“time.h”中定义的宏,怎么改?
-
但是我直接输出CLOCKS_PER_SEC的值,确实变了……
-
NSLog(@"%d", CLOCKS_PER_SEC);在我的 iPhone 和模拟器上显示 1000000 的恒定输出。 -
我无法使用 NSLog,因为设备未连接。但是我通过打印“CLK_TCK”得到相同的值。
-
您也可以稍后将您的 iPhone 连接到 Xcode 并在 Organizer 中查看 NSLog 输出。