GHC / Haskell分析:函数消耗时间而不被调用

时间:2011-10-03 06:55:59

标签: haskell profiling ghc

我已经使用GHC编译了一个带有启用性能分析的Haskell程序。

$ ./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 个答案:

答案 0 :(得分:5)

这是ghc分析中的一个错误。我不知道一种解决方法,但Simon M承诺在下一个版本中进行改进。

答案 1 :(得分:0)

我发现entries列位于我自己的代码中:例如main被称为 6次

所以我不会太担心它。