blob: 242ccc3bb0c8071ddb015b97803f86632cf30b46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import Control.Concurrent
import System.IO
import System.Mem
main :: IO ()
main = do hSetBuffering stdout LineBuffering
mapM_ doIter [1..3]
doIter :: Int -> IO ()
doIter n = do putStrLn ("Iteration " ++ show n)
let xs = [n .. 1000000 + n]
putStrLn ("Last: " ++ show (last xs))
putStrLn "GC 1 start"
performGC
putStrLn "GC 1 done"
putStrLn ("Head: " ++ show (head xs))
putStrLn "GC 2 start"
performGC
putStrLn "GC 2 done"
|