gpt4 book ai didi

haskell - 如何强制 ghc 的分析器更深入地了解库?

转载 作者:行者123 更新时间:2023-12-02 10:43:59 26 4
gpt4 key购买 nike

我正在尝试分析我的程序。因此,我使用 -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 将它们视为程序的一部分,而不是外部库。

最佳答案

为了使探查器能够区分库函数,它们必须有成本中心注释。您可以通过两种方式执行此操作:

  1. 使用 -p -auto 重新编译感兴趣的库,以便使用 SCC 注释库函数。
  2. 在代码中可能耗时的库调用周围插入 SCC 注释。

关于haskell - 如何强制 ghc 的分析器更深入地了解库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5196903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com