[MLton-devel] first benchmarks with generational gc

Matthew Fluet Matthew Fluet <fluet@CS.Cornell.EDU>
Wed, 7 Aug 2002 16:15:14 -0400 (EDT)


> > Unfortunately, GC only seems to account for 22% of the benchmark, which
> > doesn't seem enough to double the running time.
> 
> Hmm.  No idea here.  Feel free to play around with the latest checkin
> if you want.

Well, it's certainly a bad GC interaction.  With the generational GC,
more than 6X time is spent doing gcs, while almost 3X data is copied
around.

[fluet@lennon temp]$ time ./DLXSimulator.true @MLton gc-summary -- > /dev/null
max semispace size(bytes): 11,423,744
max stack size(bytes): 245,760
GC time(ms): 32,180 (61.2%)
maxPause(ms): 70
number of minor GCs: 1,253
number of copying GCs: 126
number of mark compact GCs: 0
bytes allocated: 1,840,359,940
bytes copied (minor): 798,056,100
bytes copied (major): 103,926,000
bytes mark-compacted: 0
max bytes live: 1,169,360
51.92user 0.67system 0:57.50elapsed 91%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (140major+23266minor)pagefaults 0swaps

[fluet@lennon temp]$ time ./DLXSimulator.false @MLton gc-summary -- > /dev/null
max semispace size(bytes): 6,418,432
max stack size(bytes): 245,760
GC time(ms): 5,230 (22.2%)
maxPause(ms): 40
number of minor GCs: 0
number of copying GCs: 315
number of mark compact GCs: 0
bytes allocated: 1,738,667,900
bytes copied (minor): 0
bytes copied (major): 266,781,108
bytes mark-compacted: 0
max bytes live: 1,127,144
23.46user 0.09system 0:23.72elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (139major+3735minor)pagefaults 0swaps


BTW, I get a segmentation fault with the -generational false compiled
program when passing a fixed-heap 50m argument that forces an (early)
mark-compact GC.  The -generational true compiled program run fine when
passed a fixed-heap 50m argument, where it does all mark-compact GCs for
the major GCs, but obviously does a lot of minor GCs in between.

fluet@lennon temp]$ time ./DLXSimulator.false @MLton fixed-heap 50m gc-messages gc-summary -- > /dev/null
Created heap of size 52,428,800 at 0x401a8000.
Growing stack to size 480.
Growing stack to size 960.
Growing stack to size 1920.
Growing stack to size 3840.
Growing stack to size 7680.
Growing stack to size 15360.
Growing stack to size 30720.
Growing stack to size 61440.
Growing stack to size 122880.
Growing stack to size 245760.
/tmp/file4fmHgf.0.S 15869: doGC
Starting gc.  bytesRequested = 512
Major mark-compact GC.
Major mark-compact GC done.
Command terminated by signal 11




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel