diff options
Diffstat (limited to 'testsuite/tests/rts/return_mem_to_os.hs')
-rw-r--r-- | testsuite/tests/rts/return_mem_to_os.hs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/testsuite/tests/rts/return_mem_to_os.hs b/testsuite/tests/rts/return_mem_to_os.hs new file mode 100644 index 0000000000..242ccc3bb0 --- /dev/null +++ b/testsuite/tests/rts/return_mem_to_os.hs @@ -0,0 +1,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" + |