Низкоуровневый счетчик циклов в устройствах iOS

Теперь, когда стало ясно, что Cortex -Счетчики производительности A8 недоступны на iPhone/iPad (их нужно явно включить для пользовательского режима, чего Apple не сделала), есть ли другой способ получить разумное количество циклов на устройствах iOS, для микропрофилирования?


person Ted Middleton    schedule 01.10.2011    source источник


Ответы (2)


Наиболее точная синхронизация, доступная для пользовательского кода iOS через общедоступный API, по-видимому, использует mach_absolute_time() из mach/mach_time.h, чьи выходные данные представляют собой масштабированные результаты одного из счетчиков тактовых циклов ASIC. Вызовите его еще раз непосредственно перед тем, как начать синхронизацию, чтобы предварительно заполнить ICACHE кодом библиотеки mach_time. Обратите внимание, что некоторые из ASIC от Apple могут переключать передачи для тактовой частоты ядра процессора приложения, в зависимости от.

person hotpaw2    schedule 01.10.2011

Я, может быть, совсем не в себе, но CFAbsoluteTimeGetCurrent не слишком ли груб для вас?

person zoul    schedule 01.10.2011