Не обязательно.
main
не является «реальной» точкой входа в вашу программу, есть много вещей, происходящих до и после, например, загрузка / выгрузка библиотек DLL и создание / уничтожение глобальных переменных (тех, которые инициализируются динамически).
Эти вещи требуют времени, хотя обычно ничтожны.
Обратите внимание, что есть флаги для callgrind, которые позволяют начать сбор статистики в начале функции (например, main
) в зависимости от того, что вас действительно интересует.