gpt4 book ai didi

haskell - 分析 Haskell,无需安装所有依赖项的分析库

转载 作者:行者123 更新时间:2023-12-02 19:48:31 25 4
gpt4 key购买 nike

我希望分析我用 Haskell 编写的程序。

在编译时,我被告知没有安装某些依赖项(例如 criterion)的分析库,并且 cabal 中止。

我对分析这些依赖项的部分内容不感兴趣;从 main 调用的代码甚至不使用它们。

如何在不安装我不需要的分析库且不删除所有这些依赖项的情况下分析我的应用程序?

最佳答案

避免使用分析来编译所有内容的一个好方法是使用 cabal 沙箱。它允许您仅为一个应用程序设置沙箱,因此您无需重新安装整个 ~/.cabal 前缀。您需要最新版本的 Cabal,因此请先运行 cabal update && cabal install cabal-install

初始化沙箱后,创建一个文件 cabal.config 以包含必要的指令(在您的情况下 library-profiling: True; executable-profiling : True 也可能很方便。)

这样做的一个副作用是,您可以使用不需要全局安装的依赖项来测试代码,例如实验版本或过时版本。

编辑:顺便说一句,我认为您不需要启用分析才能使 criterion 正常工作。无论如何,它对我来说都有效,无需启用分析。只需编写一个包含 main = defaultMain benchmarksMain 模块,其中 benchmarks 的类型为 [Benchmark],即列表您编写的基准。

然后,您可以使用 ghc --make -o bench benchmarks.hs 编译该文件(例如,我们将其称为 benchmarks.hs),并运行该程序,./bench 带有适当的参数(有关详细信息,请参阅标准文档。一个好的默认参数是 ./bench -o benchmarks.html ,它将生成类似于以下内容的漂亮报告this one)

关于haskell - 分析 Haskell,无需安装所有依赖项的分析库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12207698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com