Dear MLton developers:<br><br>I found a gotcha on FreeBSD. By default on FreeBSD versions 5.x, 6.x and 7.x a single<br>process can never have more than 512M of memory unless you tune kernel parameters.<br>I&#39;ve documented it on the page 
<a href="http://mlton.org/RunningOnFreeBSD">http://mlton.org/RunningOnFreeBSD</a>.<br><br>Usually such kernel tuning are only needed for system administration of bigger<br>RDBMS systems, Web caches and daemons like these, but MLton is the exception
<br>since it usually uses a lot more than that.<br><br>My compiles went from heavy swapping and 35 minutes for a complete bootstrap to<br>about 8-10 minutes for a complete bootstrap with almost no swapping at all!<br><br>
While here, I propose the change of the FreeBSD default install prefix to /usr/local<br><br>diff --git a/Makefile b/Makefile<br>index f2f6042..7839816 100644<br>--- a/Makefile<br>+++ b/Makefile<br>@@ -366,6 +366,9 @@ endif
<br>&nbsp;ifeq ($(TARGET_OS), darwin)<br>&nbsp;PREFIX := /usr/local<br>&nbsp;endif<br>+ifeq ($(TARGET_OS), freebsd)<br>+PREFIX := /usr/local<br>+endif<br>&nbsp;ifeq ($(TARGET_OS), mingw)<br>&nbsp;PREFIX := /mingw<br>&nbsp;endif<br>diff --git a/basis-library/primitive/basis-
ffi.sml b/basis-library/primitive/basis-ffi.sml<br><br>in order to make it more on par with FreeBSDs hier(7) man-page.<br><br>J.<br>