3
我正在使用ghc的選項-fprof
選項來分析程序,以自動創建成本中心。如果我只有特定模塊的成本中心,那麼分析輸出將更容易理解。如何僅使用'-auto'成本中心編譯某些模塊?
首先將所有內容編譯爲ghc --make main.hs -rtsopts -prof
,然後重新編譯一些模塊爲ghc -c SomeMod.hs -rtsopts -prof -fprof-auto
對我來說似乎是正確的解決方案。
從GHC manual上-fprof
選項:
這些不具備程序中的所有模塊應一貫採用。
但是,如果你這樣做,那麼重新編譯檢查器將檢測到'標誌已經改變',一旦你試圖再次編譯main.hs
。我也試過ghc --make main.o
,認爲我應該從前面任何一個步驟中創建的目標文件開始,但是沒有成功鏈接。
我碰巧發現,在適當的模塊中放入{-# OPTIONS_GHC -fprof-auto #-}
編譯指示可實現預期的目標。那真的是唯一的方法嗎?