繁体   English   中英

基准GHC编译时间

[英]Benchmarking GHC compilation times

我的Haskell程序编译时间太长。

我的意思是:自从我可以使用-O1进行编译以来已有一年多了。 上次尝试时,我设置了一个64gb服务器来编译程序,并使其运行一整夜。 它内存不足。

我将着手进行一些重大的重新设计更改,以期加快编译时间,但是首先,我需要知道花费了这么长时间,并获得了一些不错的度量值,以便我可以跟踪进度。

我目前对如何执行此操作有两个想法:

  1. 用标记覆盖我的程序,以便我可以尝试编译不同的片段并为它们计时。
  2. 编写用于stack build的包装程序,以查找“ [75 of 83] Compiling”之类的行,并计算它们之间的间隔时间。

(1)听起来确实很丑陋,而且我不希望(2)由于不精确和跨模块编译而给出好的数字。 有人有更好的主意吗?

比观看文本输出更好和更容易,我意识到我可以简单地查看build文件夹中文件的时间戳。

该命令为我提供了一个按时间戳排序的构建文件列表,因此我可以粗略地了解每个文件花费了多长时间:

ls -l -c -T -R .stack-work/dist/x86_64-osx/Cabal-1.22.5.0/build/<source folder> | grep "rw" | grep "\." | awk '{print $8,$10}' | sort

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM