相关疑难解决方法(0)

为什么performGC无法释放所有内存?

鉴于该计划:

import Language.Haskell.Exts.Annotated -- from haskell-src-exts
import System.Mem
import System.IO
import Control.Exception

main :: IO ()
main = do
  evaluate $ length $ show $ fromParseResult $ parseFileContents $ "data C = C {a :: F {- " ++ replicate 400000 'd' ++ " -}     }"
  performGC
  performGC
  performGC
Run Code Online (Sandbox Code Playgroud)

使用GHC 7.0.3,当我运行时:

$ ghc --make Temp.hs -rtsopts && Temp.exe +RTS -G1 -S
    Alloc    Copied     Live    GC    GC     TOT     TOT  Page Flts
    bytes     bytes     bytes  user  elap    user    elap
 ...
 29463264        64 …
Run Code Online (Sandbox Code Playgroud)

garbage-collection haskell ghc

19
推荐指数
1
解决办法
1986
查看次数

标签 统计

garbage-collection ×1

ghc ×1

haskell ×1