google-pperftools печатает неправильные имена функций

У меня проблемы с профилированием времени выполнения моих приложений с помощью google-pperf-tools.

Я сделал следующее:

make -j4 PROFILER=google
CPUPROFILE=WARP.profile ./myprogram
google-pprof --text mypgrogram WARP.profile > profile.txt
okular profile.txt

Который дал мне вывод ниже.

Я могу распознать некоторые из моих функций, таких как mypgrogram::LOG::logger,
Большая часть этого, однако, не имеет смысла.
Нет ничего похожего _end в моем коде и функциях, которые я знаю из
файлы журнала, так как занимают много времени, вообще не отображаются.
Я знаю, что есть алгоритм, потребляющий примерно 80-90% времени выполнения, но
это не показано в выводе.

Проект был построен в режиме отладки, и, например, GDB может получить доступ ко всем именам функций, поэтому я считаю, что оптимизация кода здесь не должна быть проблемой.

Как я могу исправить вывод, чтобы увидеть реальное поведение программ?

Total: 10578 samples
9221  87.2%  87.2%    10556  99.8% _end
678   6.4%  93.6%      678   6.4% std::__cxx11::basic_string::npos
282   2.7%  96.3%      492   4.7% __TMC_END__
138   1.3%  97.6%      138   1.3% __emutls_register_common
75   0.7%  98.3%      162   1.5% features.512.0.69
48   0.5%  98.8%       66   0.6% versionString
39   0.4%  99.1%       98   0.9% __data_start
39   0.4%  99.5%      352   3.3% errortable
23   0.2%  99.7%      139   1.3% CPXPmembzfunc
15   0.1%  99.9%       17   0.2% ambiguousConverters
6   0.1%  99.9%       18   0.2% USE_SSE2
3   0.0% 100.0%        6   0.1% private_mem
3   0.0% 100.0%        5   0.0% thread_control_table_index
2   0.0% 100.0%        2   0.0% _Bocu1Data_44_cplex
0   0.0% 100.0%        2   0.0% 0x00007f33cdc9cb1f
0   0.0% 100.0%       20   0.2% 0x00007f33cdec3cbe
0   0.0% 100.0%        1   0.0% UNROLLED_LIMIT
0   0.0% 100.0%        1   0.0% _LMBCSData3_44_cplex
0   0.0% 100.0%        1   0.0% _LMBCSData5_44_cplex
0   0.0% 100.0%        1   0.0% _LMBCSData8_44_cplex
0   0.0% 100.0%        1   0.0% _LMBCSImpl8
0   0.0% 100.0%        1   0.0% internal_little2_encoding_ns
0   0.0% 100.0%        2   0.0% mypgrogram::LOG::logger
0   0.0% 100.0%        3   0.0% mypgrogram::XMLTags::LOCATION_FLEET_ID[abi:cxx11]
0   0.0% 100.0%        2   0.0% thrid_mmct
0   0.0% 100.0%        4   0.0% xercesc_3_1::XMLTransService::gMappingsRecognizer

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]