我想介绍我在Haskell写的程序.
在编译时,我被告知,我没有安装某些依赖关系(例如标准)的分析库,并且中止.
我对这些依赖关系的部分内容没有兴趣;从main调用的代码甚至不使用它们.
如何配置我的应用程序,而不安装不需要的分析库,而不删除所有这些依赖项?
使用剖析来编制所有内容的好方法是使用cabal沙箱.它允许您仅为一个应用程序设置沙箱,因此您不必重新安装整个〜/ .cabal前缀.您需要最新版本的Cabal,所以运行cabal update&&首先安装cabal-install.
一旦你初始化了一个沙盒,创建一个文件cabal.config来包含必要的指令(在你的情况下,library-profiling:True; executable-profiling:True也可以方便).
这样做的一个副作用是您可以使用不需要全局安装的依赖项来测试代码,例如,实验版本或过期版本.
编辑:btw,我不认为你需要启用配置文件以使标准工作.无论如何,它对我来说没有启用分析功能.只需编写一个主模块,其中包含main = defaultMain基准,其中基准类型为[Benchmark],即您编写的基准列表.
然后,您可以编译该文件(比如我们称之为ghc -make -o bench benchmarks.hs的benchmarks.hs,并使用适当的参数运行程序./bench(有关详细信息,请参阅标准文档)一个很好的默认参数就是说./bench -o benchmarks.html会产生类似于this one的漂亮报告)