我已经尽我所能搜索了 ghc 用户手册,但我无法找到一种方法让 ghc 在编译每个模块时打印它的时间。
问问题
56 次
1 回答
5
我假设您已经-ddump-timings
按阶段和模块找到了以毫秒为单位的转储运行时间?我很确定您最好的选择是解析其输出并按模块求和时间。
查看 GHC 源代码,唯一调用getCPUTime
的一段代码在 file compiler/GHC/Utils/Error.hs
, functionwithTiming'
中,这是由-ddump-timings
. 虽然从技术上讲,可能会有一些调用来withTiming'
解释模块的总编译时间,但我觉得它不太可能在默认情况下被禁用,并且withTiming
在编译器代码库中搜索所有出现的 都不会出现任何结果. 所以,-ddump-timings
输出可能是你能做的最好的。
于 2020-12-06T19:06:00.603 回答