Tim*_*Chu 5 haskell haskell-stack
我目前正在使用Stack来构建一个项目,该项目总计约80个模块和13,000行代码。目前,对于我的类型文件的微小更改,编译大约需要3分钟,这是不可接受的-它使我无法通过堆栈ghci快速测试代码。它还显着减慢了许多事情的速度:例如,与同行进行配对编程或咨询专家。
我希望能够弄清楚为什么编译需要这么长时间,以及我可以做些什么来加快编译速度。有什么方法可以分析编译时间吗?
另外,我怎么知道是堆栈还是ghc慢?
我知道有关设置-O0的信息,尽管这似乎无助于编译时间。我也知道TemplateHaskell和Typeclass Resolution可能需要一段时间-我有什么办法可以得到更好的分辨率来解决这些问题呢?
如果这个问题仍然相关,您可以尝试以下操作:
stack ghci --fast --no-build --ghc-options="-fbyte-code"
Run Code Online (Sandbox Code Playgroud)
IIRC 使用这个让我得到了最快的结果stack ghci。
如果这还不够帮助,您可以朝 的方向看--ghc-options="-dshow-passes"。我本人目前也在朝这个方向努力,试图加快构建/ghci 重新加载的速度。