2017-06-04 72 views
0

我期待在iOS應用程序中執行高精度計時。在Intel x86芯片上,我會使用RDTSC獲取時間戳,但是我無法在ARM設備上執行此操作。是否有相當於可以從iOS應用程序使用的RDTSC?RDTSC相當於iOS

+0

即使在x86芯片上,TSC也不是一個好選擇。這不是一種可靠的計時方式,尤其是在移動設備上,其中的電源管理功能幾乎可以保證中斷計時。應該有一個操作系統API。 –

回答

0

似乎有一個內置鏗鏘爲此,__builtin_readcyclecounter()。在x86上,它編譯爲rdtsc;在ARM64上,它編譯爲mrs x0, PMCCNTR_EL0。在ARM上它總是返回0。儘管ARM64對我來說已經足夠好了,因爲iOS 11中的32位支持已被丟棄。