
31 Jul
2009
31 Jul
'09
7:38 p.m.
Ok, I fixed my test program, and now things seem more reasonable. The original version was allowing the GC to collect the list in the first case, but not the second. However, I don't want the list to be collected. The new version seems to fix that issue. Now the control uses 40MB and when I change it to list' it uses 64MB. Which is more reasonable. main :: IO () main = let list = [1..1000000] :: [Int] bin = encode list list' = decode bin :: [Int] in do putStrLn (show . length $ takeWhile (< 10000000) list) getLine putStrLn (show . length $ takeWhile (< 10000001) list)