Christian Maeder wrote:
Simon Marlow wrote:
Right - Ptr isn't the right thing here, because GC will move objects
around. That's why we have StablePtr and StableName.
may it be that makeStableName is expensive? (or it is my additional Map?)
My old version is faster, because the version with makeStableName does
very much GC.
Christian
1. with makeStableName (and a Map):
2,447,401,824 bytes allocated in the heap
703,294,688 bytes copied during GC
50,780,688 bytes maximum residency (24 sample(s))
9328 collections in generation 0 (129.88s)
24 collections in generation 1 ( 4.10s)
99 Mb total memory in use
INIT time 0.00s ( 0.00s elapsed)
MUT time 27.28s ( 28.91s elapsed)
GC time 133.98s (140.08s elapsed)
EXIT time 0.00s ( 0.00s elapsed)
Total time 161.26s (168.99s elapsed)
%GC time 83.1% (82.9% elapsed)
Alloc rate 89,714,143 bytes per MUT second
Productivity 16.9% of total user, 16.1% of total elapsed
Interesting... this could mean that updating the stable name table on
each GC is very costly. This deserves more investigation, but I'm
afraid it's not high on the priority list for me. I can help if anyone
else wants to look into it.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users