2015-11-26 2 views
0

Я хотел бы измерить предсказание ветвления на Xcode для процессоров Intel в Mac OS X с очевидным намерением оптимизации скорости.Могу ли я измерить ошибки предсказания ветвления на современной Intel Mac OS X?

Есть ли способ программирования инструментов XCode для достижения этого?

Я уже проверил, и этой информации, к сожалению, нет в документации Xcode. Я подозреваю, что это может быть достигнуто с помощью некоторых пользовательских настроек.

Цель заключается в определении задач оптимизации, таких как этот: Why is it faster to process a sorted array than an unsorted array?

Я знаю, что Intel commercial solution существует, для процессоров Intel, работающих на Linux и Windows. На OS X вы, по-видимому, можете отслеживать только удаленный процессор Intel, работающий в системе Linux или Windows.

Вместо коммерческого инструмента, я бы предпочел, чтобы установить/программировать инструменты Xcode и Apple, чтобы получить хотя бы минимум видимости по этой проблеме.

+2

Я не знаю, о XCode, но Cachegrind может это сделать. http://valgrind.org/docs/manual/cg-manual.html –

+2

Я узнал, что существует совместимая с OS X версия Cachegrind, выглядит многообещающей. Я скомпилирую его и попробую. С другой стороны, я заметил, что инструменты Counters в инструментах профилирования Xcode (которые глубоко недокументированы), по-видимому, позволяют «подсчитывать» то, что выглядит точно как неудачные предсказания ветвления. –

ответ

2

Есть счетчики производительности аппаратного обеспечения (PMC) в Приборы Xcode в:

https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/MeasuringCPUUse.html

Там скрыты по умолчанию событий отрасли в Window > Manage PM Events, согласно http://meandmark.com/blog/2011/10/event-profiler-and-counters-instruments/

Смежные вопросы