我有一个相当复杂且对性能要求很高的Haskell程序。我使用了成本中心分析来优化到没有主要剩余热点的程度。此外,使用-O2时,程序的运行速度提高了15倍(并且没有剖析)比它与stack build --profile的情况,所以我怀疑成本中心分析器是否对发现优化后的瓶颈有很大帮助。我有什么选择来寻找优化后仍然存在的热点?我知道ticky-ticky分析,但它在文档中被描述为不适用于“普通人”,我只是一个普通人。
-O2
stack build --profile
piok6c0g1#
从GHC 9.4.1开始,您可以使用-fprof-late标志让编译器在优化后自动添加成本中心注解。
-fprof-late
h6my8fg22#
这是一个很一般的问题,但你有没有搜索过空间泄漏?一个不错的包是weigh。作者写了一个非常好的article关于它。
2条答案
按热度按时间piok6c0g1#
从GHC 9.4.1开始,您可以使用
-fprof-late
标志让编译器在优化后自动添加成本中心注解。h6my8fg22#
这是一个很一般的问题,但你有没有搜索过空间泄漏?
一个不错的包是weigh。
作者写了一个非常好的article关于它。