Я использовал два инструмента профилирования (VTune для windows и dbx (в пределах sunstudio) в Solaris), которые могут профилировать программу без их перестройки, а во время профилирования программа просто работает с той же скоростью, что и обычная. Обе эти 2 функции сэкономили мне много времени.
Теперь я хочу знать, есть ли на платформе Linux доступные бесплатные инструменты, способные сделать то же самое. Я думаю, что мне нужны инструменты профилирования на основе выборки. VTune хорош, но дорогой ... Я слышал о gprof и valgrind. Но, похоже, gprof нужен инструмент для программы (поэтому нам нужно пересобрать программу), и valgrind значительно замедлит выполнение программы. (из введения Вальгринда Cachegrind запускает программы примерно в 20-100 раз медленнее, чем обычно, а Callgrind, который мне нужен для профилирования, основан на Cachegrind)
Для профилирования мне просто нужно выяснить время выполнения вызовов функций, чтобы я мог выяснить, где происходит снижение производительности. На самом деле мне не нужно много информации о низкоуровневом профилировании, как предоставил Cachegrind ...