[MLton-devel] yeah, that did the trick
Stephen Weeks
sweeks@sweeks.com
Tue, 17 Sep 2002 11:46:52 -0700
> Turns out I exagerated here. I just ran a self compile on each
> (virtual) machine and here is the result.
>
> FreeBSD 4.6.2 MLton finished in 486.97 + 210.66 (30% GC)
> RedHat 7.1 MLton finished in 297.67 + 165.61 (36% GC)
>
> So it takes only 50% longer on FreeBSD. Maybe some of that is due to
> poorer emulation on vmware's part, but I would doubt much. Also, some
> may be due to very different mmap behavior on the two machines. I've
> included the gc-summary stats from the self compile below. FreeBSD
> manages to almost always give MLton the memory it needs for doing
> copying collection, while on RedHat, MLton switches to mark compact
> and is stuck there for a while. This could explain things due to
> FreeBSD losing time due to zeroing out pages for new semispaces
> constantly being created. I also see that the time spent in
> collection for FreeBSD (74.7 + 7.4) doesn't come anywhere close to the
> total GC time (210.7). This must either be due to zeroing costs, or
> maybe the absence of mremap on FreeBSD.
I just ran another test that shows that the difference was due to
different mmap results leading to different GC strategies. To force
both systems to use mark compact and avoid constant mmaping of new
semispaces, I ran a self compile on each machine with
@MLton copy-ratio 8 grow-ratio 8 --
Now, the running times are fairly close:
FreeBSD MLton finished in 258.51 + 136.80 (35% GC)
RedHat MLton finished in 234.01 + 116.68 (33% GC)
FreeBSD is only 10% slower. I'm willing to live with that. The GC
summary data is below. It also shows that there is no longer all that
missing GC time, which I now bet was due to zeroing costs, which seem
to be much higher on FreeBSD than Linux. I'll run some more tests to
confirm that.
FreeBSD
------------------------------------------------------------
GC type time ms number bytes bytes/sec
------------- ------- ------- --------------- ---------------
copying 12,070 21 587,714,700 48,692,186
mark-compact 107,820 24 1,943,467,536 18,025,111
minor 14 52 16,264 1,161,714
total GC time: 136,803 ms (36.5%)
max pause: 7,906 ms
total allocated: 23,012,383,856 bytes
max live: 109,345,560 bytes
max semispace: 841,928,704 bytes
max stack size: 4,571,136 bytes
marked cards: 142
minor scanned: 1,902,724 bytes
minor skipped: 33,128 bytes
RedHat
------------------------------------------------------------
GC type time ms number bytes bytes/sec
------------- ------- ------- --------------- ---------------
copying 12,570 23 702,249,812 55,867,127
mark-compact 101,690 23 1,794,119,272 17,643,025
minor 0 72 16,504 0
total GC time: 116,680 ms (35.4%)
max pause: 7,370 ms
total allocated: 23,011,928,908 bytes
max live: 102,725,204 bytes
max semispace: 412,397,568 bytes
max stack size: 4,571,136 bytes
marked cards: 196
minor scanned: 1,351,072 bytes
minor skipped: 33,408 bytes
-------------------------------------------------------
This SF.NET email is sponsored by: AMD - Your access to the experts
on Hammer Technology! Open Source & Linux Developers, register now
for the AMD Developer Symposium. Code: EX8664
http://www.developwithamd.com/developerlab
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel