[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gprof нагло врет ?!



Привет все!

Я тут оптимизировал свою программу: получил выход gprof, переписал две верхних функции и снова получил выход. Проблема в том, что они как занимали почти 5% по времени так и занимают. Хотя после оптимизации функция synt::SyntTokensSpliter::Clear() _состоит_в_обнулении_3-х_счетчиков_ и в принципе не может занимать 2.03% по времени от 441 секунды, т.е. почти 9 секунд.

Правда общее время работы сократилось с 457.57 до 441.09 сек., но почему эти функции наверху?
В чем может быть проблема?

С уважением,
Сергей


P.S.
До оптимизации gprof показывал:

Flat profile:

Each sample counts as 0.01 seconds.
% cumulative self self total time seconds seconds calls ms/call ms/call name 2.36 10.80 10.80 37194 0.29 0.30 synt::SyntTokensSpliter::ReTokenize() 2.12 20.50 9.70 37195 0.26 0.26 synt::SyntTokensSpliter::Clear()
...


После оптимизации стал показывать:

Flat profile:

Each sample counts as 0.01 seconds.
% cumulative self self total time seconds seconds calls ms/call ms/call name 2.36 10.41 10.41 37194 0.28 0.29 synt::SyntTokensSpliter::ReTokenize() 2.03 19.36 8.95 37195 0.24 0.24 synt::SyntTokensSpliter::Clear()
...





Reply to: