Какие инструменты вы используете для профилирования настенных часов ваших приложений C ++?

Я должен профилировать свое многопоточное приложение C ++ и найти его узкие места. Проблема в том, что мне нужно посмотреть профиль настенных часов. я использовал oprofile а также perf, Никто не может предоставить мне такую ​​информацию.

я использовал perf record -g -e sched:sched_stat_sleep <cmd> но perf record падает с исключением SIGFPE. Это меня злит.

Valgrind меня не устраивает, потому что я использую fanotify_mark системный вызов, который не реализован в этом инструменте.

Я не уверен, что Google perftools могу сделать профилирование настенных часов — я не вижу никакой информации в их документации.

Кто-нибудь может подсказать? Спасибо.

4

Решение

Попробуйте PAPI http://web.eecs.utk.edu/~terpstra/using_papi/, это профилировщик с открытым исходным кодом. Обычно я использую этот профилировщик для измерения производительности кэша (например, пропусков и обращений) в некоторых алгоритмах. Может быть, это может быть полезно и для того, что вы хотите.

Если у вас есть MAC, взгляните на профилировщик «инструменты»

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]