
Andrew Cheadle wrote:
+RTS -Sstderr -RTS and +RTS -sstderr -RTS will probably indicate why. I'd be surprised if the amount of data copied for the semi-space collector isn't much less than for the generational.
Ahh. Data copied with '-G1' = 58MB vs. 203MB without. For posterities sake, here are the numbers... With '-G1' --------------------------------------------------- 306,616,872 bytes allocated in the heap 58,844,344 bytes copied during GC 99,316 bytes maximum residency (1169 sample(s)) 1169 collections in generation 0 ( 0.62s) 1 Mb total memory in use INIT time 0.00s ( 0.00s elapsed) MUT time 0.68s ( 0.71s elapsed) GC time 0.62s ( 0.68s elapsed) EXIT time 0.00s ( 0.00s elapsed) Total time 1.30s ( 1.39s elapsed) %GC time 47.7% (48.9% elapsed) Alloc rate 450,907,164 bytes per MUT second Productivity 52.3% of total user, 48.9% of total elapsed Without --------------------------------------------------- 306,616,872 bytes allocated in the heap 203,339,812 bytes copied during GC 109,088 bytes maximum residency (131 sample(s)) 1169 collections in generation 0 ( 2.22s) 131 collections in generation 1 ( 0.05s) 2 Mb total memory in use INIT time 0.00s ( 0.00s elapsed) MUT time 0.79s ( 0.92s elapsed) GC time 2.27s ( 2.23s elapsed) EXIT time 0.00s ( 0.00s elapsed) Total time 3.06s ( 3.15s elapsed) %GC time 74.2% (70.8% elapsed) Alloc rate 388,122,622 bytes per MUT second Productivity 25.8% of total user, 25.1% of total elapsed Greg Buchholz