Какой самый простой / лучший способ профилировать интенсивное математическое приложение C ++ для скорости в Mac OS X? - PullRequest
1 голос
/ 18 ноября 2010

Я разрабатываю консольное математическое приложение в Mac OS X. Оно реализовано на C ++, и я не использую никакой специальной IDE, просто текстовый редактор и GCC для компиляции.

В настоящее время мойреализация довольно медленная с моими данными.Какой самый простой / лучший способ профилировать его, чтобы знать, какие части оптимизировать?

Я использую valgrind на базовом уровне для проверки утечек памяти.Однако я никогда не использовал его (callgrind) для профилирования скорости вычислений.Как я должен это делать?Я нахожу документацию callgrind немного запутывающей / не очень дружественной для новичка.Есть ли эквивалент kcachegrind для Mac?Насколько я знаю, Maccachegrind работает только с выводом xdebug и не работает с выходом callgrind 3.6.0.

Лучше ли использовать для профилирования valgrind или gprof?Я не знаком ни с тем, ни с другим.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2010
/Developer/Applications/Performance Tools/Shark.app

Откройте его, запустите приложение, нажмите «Пуск», дайте приложению немного поработать, нажмите «Стоп».

На сайте разработчиков Apple есть более подробное введение .

2 голосов
/ 14 декабря 2010

Вы должны иметь возможность установить kcachegrind из Macports (пакет kdesdk4) и, возможно, также fink (который я никогда не использовал сам) и использовать его так же, как вы делаете это в Linux.Я делал это в прошлом, и это работало нормально.

...