【发布时间】:2011-03-04 17:06:34
【问题描述】:
我正在尝试分析我的程序。所以我用-prof 和-auto-all 标志编译它并用-P 运行以获得详细的分析报告:
$ ghc --make -prof -auto-all Test.hs
$ ./Test +RTS -P
这是一份分析报告:
COST CENTRE MODULE no. entries %time %alloc
main Main 266 1 0.0 0.0
run Main 273 21845 99.3 99.7
sz Main 274 21844 0.0 0.0
size Main 268 21845 0.7 0.3
似乎run 消耗了所有时间和内存。它从各种库中调用了很多函数,我很确定大部分时间都花在其中一个上,但我不知道是哪一个。
如何获得更详细的报告?我希望手动添加大量SCC 注释不是唯一的方法。
更新。现在我通过将库的源代码复制到我的程序目录来“解决”这个问题。这允许 GHC 将它们视为程序的一部分,而不是外部库。
【问题讨论】:
-
也许 [visual-prof][1] 能以某种方式提供帮助? [1]:hackage.haskell.org/package/visual-prof