简体   繁体   English

如何在编译器优化后分析Haskell?

[英]How to profile Haskell after compiler optimizations?

I have a fairly complex and performance-critical Haskell program. 我有一个相当复杂和性能关键的Haskell程序。 I have used cost center profiling to optimize to the point where there are no major remaining hot spots. 我已经使用成本中心分析来优化到没有主要剩余热点的点。 Furthermore, the program runs about 15x faster with -O2 (and no profiling) than it does with stack build --profile , so I have doubts as to whether the cost center profiler is helping much at all with finding bottlenecks that remain post-optimization. 此外,使用-O2 (并且没有分析)程序运行速度比stack build --profile运行速度大约快15倍,因此我怀疑成本中心分析器是否有助于找到优化后的瓶颈。

What are my options for finding hot spots that remain after optimization? 找到优化后仍然存在的热点有哪些选择? I am aware of ticky-ticky profiling, but it is described in the docs as not for "mere mortals", and I am a mere mortal. 我知道这个问题很奇怪,但它在文档中被描述为不仅仅是“凡人”,我只是凡人。

This is a very general question, but do you have searched for space leaks ? 这是一个非常普遍的问题,但您是否搜索过空间泄漏?

One nice package is weigh . 一个不错的包装称重

The author has written a very good article about it. 作者写了一篇非常好的文章

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM