我已经使用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一样。为什么没有显示?
答案 0 :(得分:5)
这是ghc分析中的一个错误。我不知道一种解决方法,但Simon M承诺在下一个版本中进行改进。
答案 1 :(得分:0)
我发现entries
列位于我自己的代码中:例如main
被称为 6次!
所以我不会太担心它。