No subject

Henry Cejtin henry@sourcelight.com
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
MLton?