成本中心

成本中心是 Haskell 程序的注释,可以由 GHC 编译器自动添加 - 使用 -fprot-auto - 或由程序员使用 {-# SCC "name" #-} <expression> 自动添加,其中 name 是你希望的任何名称,<expression> 是任何有效的 Haskell 表达式:

-- Main.hs
main::IO ()
main = do let l = [1..9999999]
          print $ {-# SCC "print_list" #-} (length l)

一旦程序退出,用 -fprof 编译并运行+RTS -p 例如 ghc -prof -rtsopts Main.hs && ./Main.hs +RTS -p 将产生 Main.prof