Я пытаюсь профилировать некоторый код 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 с, потраченные на каждую функцию?