我有一个相当复杂且性能关键的Haskell程序。我使用成本中心分析进行优化,以达到没有主要剩余热点的程度。此外,该程序在-O2
(并且没有分析)下的运行速度比使用stack build --profile
快约 15 倍,所以我怀疑成本中心分析器是否有助于发现优化后仍然存在的瓶颈。
我有哪些选项可以查找优化后剩余的热点?我知道挠痒痒的剖析,但它在文档中被描述为不是"纯粹的凡人",而我只是一个凡人。
从 GHC 9.4.1 开始,您可以使用-fprof-late
标志让编译器在优化后添加自动成本中心注释。
这是一个非常普遍的问题,但是您是否搜索过空间泄漏?
一个不错的包装是称重。
作者写了一篇很好的文章。