Ketil Malde wrote:
Simon Marlow <[EMAIL PROTECTED]> writes:

Not so much code size, but data size (heap size, to be more
precise).

Of course.

There was some talk about storing tags in pointers for 6.8, I couldn't
find the reference, but I wonder if that would help my situation?

Unfortunately not, the pointer-tagging optimisation doesn't affect space usage, only runtime.

It would be interesting to know how much time is spent in the GC - run
the program with +RTS -sstderr.

MUT time decreases a bit (131 to 127s) for x86_64, but GC time
increases a lot (98 to 179s).

Right - GC time doubled, which is what we'd expect to see when the resident data size doubles. The decrease in MUT time is probably due to the extra registers available, but MUT time would also be affected by the increase in data size, because the cache hit rate should be lower. On the whole, I think these results are to be expected.

There isn't much we can do to improve things in the short term, I'm afraid. Improvements in the pipeline will hopefully enable us to make better use of the extra registers on x86_64, and perhaps parallel GC in the future will get that GC time down again.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to