Проблемы с выборкой по времени с gprof
Я пытаюсь профилировать некоторый код C ++, скомпилированный с g ++, включая опцию -pg, используя gprof. Однако, несмотря на то, что программе требуется 10-15 минут для запуска на моем компьютере (с максимальным использованием ЦП), столбцы% time, накопленных секунд и self секунд таблицы, созданной gprof, равны всего 0,00 с! Столбец вызовов содержит правильно выглядящие данные, например, более 150 000 вызовов базовой функции. Вот несколько собранных данных:
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 156012 0.00 0.00 perm::operator[](int) const
0.00 0.00 0.00 153476 0.00 0.00 perm::perm(void)
Программа не использует строки, и единственным #include является iostream (используется только для вывода окончательного ответа), поэтому он не может быть медленным из-за поиска и сравнения строк или других подобных медленных внешних функций, как предлагается в этом вопросе:не может накапливать время с помощью gprof - gnu profiler
Сама программа работает нормально, и у меня нет оснований полагать, что данные профиля записываются неправильно (как было предложено здесь:gprof сообщает, что времени не накопилось)
Поскольку все это делается в Windows 7, попытка использовать Shark или Valgrind не вариант.
Есть ли причина, по которой он записывает 0,00 с, потраченные на каждую функцию?