Haskell,分析导入库的内存使用情况

Posted

技术标签:

【中文标题】Haskell,分析导入库的内存使用情况【英文标题】:Haskell, profiling memory usage of imported library 【发布时间】:2014-06-30 10:23:33 【问题描述】:

我正在尝试了解 Haskell 程序的内存使用情况,并且我怀疑大量内存分配发生在我正在导入的外部库中。我知道 GHC 的 -prof 选项,但这只是我自己的代码的细分。我想将此扩展到导入的库,以了解如何修改我对该库的使用或库本身以减少内存使用。这是我使用cabal 安装的开源库。

什么是最简单的设置方法,以便我可以分析库本身?

【问题讨论】:

Cabal 的 GitHub 上的这个老问题 github.com/haskell/cabal/issues/193 引用了这个邮件列表帖子 haskell.org/pipermail/cabal-devel/2007-January/000379.html 似乎是相关的。 【参考方案1】:

您需要安装启用分析的库:

cabal install very-cool-library --reinstall --enable-library-profiling

之后,您还应该在个人资料中看到库函数。

【讨论】:

以上是关于Haskell,分析导入库的内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Haskell 中查找程序的内存使用情况

Haskell 中的内存高效字符串

我如何分析GHC用于使用Stack编译项目的内存量?

多线程haskell程序的内存分析

Haskell 递归和内存使用

分析使用 Haskell 中的解析器组合库编写的解析器