了解 `-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 总共使用了 8,025 MB 内存
- 编译时,GHC 在 wall-clock 时间内总共花费了大约 33 秒才能完成
基本上,我想确保它和我想的一样——正在测量 GHC 的编译时间和内存使用情况,而不是在 运行 时与程序有关。
谢谢!
是的,这一行显示了 GHC 编译器本身在编译您的代码时的统计信息。它与生成的编译程序的“运行时”性能无关。各种统计数据的含义记录在手册中 -t
选项下,here。
是的,在编译您的程序时,GHC 从操作系统分配了最多 8025MB 的内存,并花费了大约 34 秒的挂钟时间(垃圾收集器中为 24 秒,增变器中为 10 秒)。
基本上是标题 - 如果我 运行 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 总共使用了 8,025 MB 内存
- 编译时,GHC 在 wall-clock 时间内总共花费了大约 33 秒才能完成
基本上,我想确保它和我想的一样——正在测量 GHC 的编译时间和内存使用情况,而不是在 运行 时与程序有关。
谢谢!
是的,这一行显示了 GHC 编译器本身在编译您的代码时的统计信息。它与生成的编译程序的“运行时”性能无关。各种统计数据的含义记录在手册中 -t
选项下,here。
是的,在编译您的程序时,GHC 从操作系统分配了最多 8025MB 的内存,并花费了大约 34 秒的挂钟时间(垃圾收集器中为 24 秒,增变器中为 10 秒)。