了解 `-Rghc-timing` 输出

Understanding `-Rghc-timing` output

基本上是标题 - 如果我 运行 stack ghc -- SomeFile.hs -Rghc-timing,然后收到以下输出:

<<ghc: 32204977120 bytes, 418 GCs, 589465960/3693483304 avg/max bytes residency (15 samples), 8025M in use, 0.001 INIT (0.000 elapsed), 10.246 MUT (10.327 elapsed), 21.465 GC (23.670 elapsed) :ghc>>

这是否意味着:

基本上,我想确保它和我想的一样——正在测量 GHC 的编译时间和内存使用情况,而不是在 运行 时与程序有关。

谢谢!

是的,这一行显示了 GHC 编译器本身在编译您的代码时的统计信息。它与生成的编译程序的“运行时”性能无关。各种统计数据的含义记录在手册中 -t 选项下,here

是的,在编译您的程序时,GHC 从操作系统分配了最多 8025MB 的内存,并花费了大约 34 秒的挂钟时间(垃圾收集器中为 24 秒,增变器中为 10 秒)。