Valgrind не подходит для измерения времени, так как запуск приложения в valgrind искажает результаты (замедление, загрузка ЦП и ввод-вывод).Таким образом, инструмент профилирования valgrind callgrind измеряет не время, а инструкции процессора.Callgrind полезен только в том случае, если ваше узкое место связано с ЦП (таким образом, инструкции ЦП имеют значение), тогда измеренные инструкции ЦП будут пропорциональны затраченному времени.Бесполезно, если задействованы тяжелые операции ввода-вывода или несколько процессов.Затем вы должны использовать профилировщик выборки, например, gprof или sysprof.Это проверяет интервалы, в которых функционирует процесс, с менее искаженными результатами.