我目前正在使用 Stack 构建一个项目,总共大约 80 个模块和 13,000 行代码。目前,编译我的类型文件需要大约 3 分钟,这是不可接受的——它阻止我通过堆栈 ghci 快速测试我的代码。它还显着减慢了许多事情的速度:例如,与同行结对编程或咨询专家。
我希望能够弄清楚为什么编译需要这么长时间,以及我能做些什么来加快它。有什么方法可以分析编译时间吗?
此外,我如何判断是堆栈还是 ghc 慢?
我知道设置 -O0,尽管这似乎对编译时间没有帮助。我也知道 TemplateHaskell 和 Typeclass Resolution 可能需要一段时间——有什么办法可以更好地解决这些问题需要多长时间?
注意:我在 GHC 中看到了 Speed up compilation,但那是从 2013 年开始的,hdevtools 目前在我的设置中不起作用。