Fri, 1 Sep 2000 01:30:30 -0500
I understand the problem about ../bin/mlton not being found. You are
expecting that people will install the src RPM and then do a make, and then
will do the `make test' thing. I expect that people will install the binary
rpm and then the source rpm, and then would want to use the installed binary
rpm for doing other things.
Shouldn't all the uses of mlton just get it using the PATH? I admit it isn't
completely clear, but that seems better to me, perhaps adding the full path
to ../bin to PATH first.
As to mlton running out of memory, I tried it again and this time it seemed
to not run out of memory but it was swapping horribly. (I killed it when I
saw that it was getting less than 25% of real time as CPU time, the rest must
have been waiting for the disk to page things in and out.) The size was
250,304K (which is about right for .95 of total). The amount actually
resident was 226,304K which is only .86 of total. We saw this when the 2.2
kernels came out: it seems that Linux is reserving more memory for other
processes and the kernel. Perhaps the .95 should be changed to .85.
I changed ../bin/mlton to use a max-heap of 219031k (which is .85 times the
MemTotal line of /proc/meminfo) and it recompiled mlton.sml fine, taking
490.56 CPU seconds and 503.48 real seconds, with only 3.71 seconds of system
time, so no swapping. I claim that this shows that the default should be
changed to .85.
Oh yes, the resulting mlton.c wasn't quite the same as the one that came in
the source rpm. The date was difference (no surprise) and the call to Main
was different. In the rpm it was
Main(FALSE, 0, 85316, 3884, 25860, 0xCD21DF2, 4008, initGlobals_0)
while in the newly created one it was
Main(FALSE, 0, 85316, 3884, 25860, 0xAFDAF9D4, 4008, initGlobals_0)
Note the 6th argument to Main (called mg (yuck)) which is the magic, so I
assume that this is ok.
Speaking of which, shouldn't there be runtime arguments for changing the
Perhaps I was confused because the /usr/local/bin/mlton that was in the
binary RPM you sent out just before the contest had a fixed heap of 350 meg.
WHY??????? Does a fixed heap actually save that much time when running