Интерпретация результата и детализации gprof

Я впервые использую gprof для профилирования программы на C. Следующие строки появляются в отчете, который я создал с помощью;

 $  gprof test_gprof gmon.out > analysis.txt

В плоском профиле

Каждый образец считается за 0,01 секунды.

это максимальное разрешение по времени?

В графике вызовов:

гранулярность: каждое попадание в выборку покрывает 4 байта (байтов) в течение 7,69% от 0,13 секунды.

Что такое 4 байта здесь? а о каком времени идет речь?


person user2799508    schedule 04.01.2014    source источник
comment
Вы читали это: ftp.gnu.org /old-gnu/Manuals/gprof-2.9.1/html_chapter/ ?   -  person ericbn    schedule 04.01.2014


Ответы (1)


Прочтите главы 5.1 и 5.2 этого руководства. Вы также можете прочитать это руководство в CentOS с помощью следующей команды:

$ info gprof

В плоском профиле,

Каждый образец считается за 0,01 секунды.

указывает, что период выборки составляет 100 Гц, что не контролируется самим gprof (проверьте это страница и эта один для более подробной информации). Поэтому 0.01 seconds теоретически не является максимальным разрешением по времени.

Что касается графа вызовов, согласно этому doc из Oracle,

«4 байта» означают разрешение одной инструкции. «0,07% от 14,74 секунды» означает, что на каждую выборку, представляющую десять миллисекунд процессорного времени, приходится 0,07% выполнения.

person Yuen Tau    schedule 11.08.2017