В Xcode Instruments есть инструмент под названием Counters, который предоставляет информацию о низкоуровневом счетчике, предоставляемую ЦП, например количество выполненных команд или число промахов в кеше:
Это похоже на Linux syscall perf_event_open
, представленный в Linux 2.6.32. В Linux я могу использовать perf_event_open
, затем запустить/остановить профилирование вокруг раздела моего кода, который меня интересует. Я хотел бы записать тот же тип статистики в OS X: подсчет инструкций (и т.д.), Что определенный фрагмент кода и получение результата в автоматическом режиме. (Я не хочу использовать графический интерфейс инструментов для анализа данных.)
Существуют ли какие-либо API-интерфейсы, которые позволяют это (например: использование dtrace или аналогичного)? Из некоторых поисков это звучит так, как будто у частного AppleProfileFamily.framework могут быть необходимые перехватчики, но неясно, как можно связать или использовать его.