簡體   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