After actually running the correct test, I am still getting semi-ridiculous space behavior (6k/pair)!
import qualified Map zipped =zip [1..] [1..100000]::[(Int,Int)] untup f (x,y) = f x y produce = foldr (untup Map.insert) Map.empty zipped fm = length $ Map.keys produce main = print $ fm
Has this profile:
example +RTS -p -K5M -RTS
total time = 5.10 secs (255 ticks @ 20 ms)
total alloc = 612,534,236 bytes (excludes profiling overheads) COST CENTRE MODULE %time %alloc
balance Map 71.8 72.8
insert Map 12.2 10.8
size Map 9.0 9.7
bin Map 2.4 2.2
rotateR Map 1.6 0.3
zipped Main 0.8 1.9Notice the 612Mb for storing a mapping from Int to Int!!
Also 5M of stack is required to make this work.
Can anyone help?
-Alex-
______________________________________________________________ S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
On Tue, 25 Jan 2005, Jorge Adriano Aires wrote:
Just did a search after my last post and learned that FiniteMap is bad. Discoverd that Data.Map is the intended replacement. Downloaded it and modified it to work with 6.2. Blazingly fast!
Yay.
Hi, just curious, How much trouble was getting it to work with ghc 6.2 and adapting your program to use the API of Data.Map instead of Data.FiniteMap?
J.A.
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
