gprof
, который является частью набора инструментов GNU, является опцией. На большинстве систем POSIX он установлен, и он доступен в Cygwin для Windows. Слежение за временем с помощью gettimeofday()
работает нормально, но это производительность, эквивалентная использованию операторов print для отладки. Хорошо, если вы просто хотите быстрое и грязное решение, но оно не так элегантно, как использование подходящих инструментов.
Чтобы использовать gprof
, вы должны указать опцию -pg при компиляции с gcc
как в:
gcc -o prg source.c -pg
Затем вы можете запустить gprof
в сгенерированной программе следующим образом:
gprof prg > gprof.out
По умолчанию gprof будет генерировать общее время выполнения вашей программы, а также количество времени, затрачиваемого на каждую функцию, количество вызовов каждой функции, среднее время, потраченное на каждый вызов функции, и аналогичную информацию.
Существует большое количество опций, которые вы можете установить с помощью gprof
. Если вам интересно, вы можете найти дополнительную информацию на страницах руководства или в Google.