GHC / Haskell profiling: функция потребляет время без вызова - PullRequest
3 голосов
/ 03 октября 2011

Я скомпилировал программу на Haskell с GHC с включенным профилированием.

$ ./server + RTS -M6m -p -RTS

Я получаю профиль вроде:

                                                   individual    inherited
COST CENTRE      MODULE           no.    entries  %time %alloc   %time %alloc

poke_a4u64       Generator      2859       56436   0.0    0.0     0.4    0.4
 storeParameter  Generator      2860           0   0.4    0.4     0.4    0.4
  ppCurrent      Generator      2866       56436   0.0    0.0     0.0    0.0
  ppFeedback     Generator      2861       56436   0.0    0.0     0.0    0.0

Похоже, что storeParameter никогда не вызывается, но потребляет время и память. Поскольку storeParameter вызывает ppCurrent, я думаю, что storeParameter вызывается 56436 раз, как и ppCurrent. Почему не отображается?

Ответы [ 2 ]

5 голосов
/ 03 октября 2011

Это ошибка в профилировании GHC.Я не знаю обходного пути, но Саймон М обещал улучшения в следующем выпуске.

0 голосов
/ 03 октября 2011

Я обнаружил, что столбец entries лежит в моем собственном коде: например, main звонят 6 раз !

Так что я бы не слишком волновался об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...