【发布时间】:2013-03-17 18:40:26
【问题描述】:
除了-O0 之外,是否有其他选项可以加快编译时间?
如果不优化生成的程序也没关系。实际上,我只想经常快速地对大型 haskell 包进行类型检查。
标记-fno-code 极大地加快了编译速度,但由于该程序使用了TemplateHaskell,因此无法使用它。
【问题讨论】:
-
如果在两次编译之间不改变很多模块,并且保留对象和接口文件,那么每个循环中需要重新编译的模块应该不会太多。这还不够好吗?
-
乌尔克。在那种情况下,我不知道你怎么能加快速度。
-
是TH生成耗时长,还是重新编译生成的代码?如果是前者,可以在开发的时候缓存生成的文件吗?
-
由于 TH 在 GHCi 中运行,你可能会更幸运地从你的 TH 生成源代码,然后用 GHC 编译它。所以把你的 TH 分成两个阶段。本质上,使用 TH 作为编译器将 Haskell 翻译成 Haskell。
标签: haskell ghc compilation-time