现在很明显the Cortex-A8 performance counters aren't available on the iPhone/iPad(他们需要明确启用用户模式,Apple没有这样做),是否有其他方法可以在iOS设备上获得合理的循环计数,进行微观分析?
答案 0 :(得分:3)
iOS用户代码通过公共API可用的最精细颗粒时序似乎是使用来自mach / mach_time.h的mach_absolute_time(),其输出似乎是来自ASIC的一个时钟周期计数器的缩放结果。在开始使用mach_time库代码预先填充ICACHE的时间之前,再调用一次。请注意,Apple的某些ASIC可能会根据应用程序的CPU内核时钟速度进行调整。
答案 1 :(得分:1)
我可能完全离开,但CFAbsoluteTimeGetCurrent
对你来说太粗糙了?