Some results

Stephen Weeks MLton@sourcelight.com
Wed, 26 Jul 2000 15:42:44 -0700 (PDT)


> I think it's just the fact that this machine is a 200Mhz PentiumPro.  It
> took about 45 minutes for nj-mlton to create the mlton.c file.

Ah yes, that's about right then.  To speed things up, you can turn of
debugging by setting MLton.debug to false in
src/library/nj-basis/mlton.sml.

> The remaining operations on reals seem to be creeping in from the
> compiler's basis library files.  For example, there is one call to
> Real_Math_ln in the mlton.c file.  As best I can make out, it's
> originating in library/basic/real.sml and the line
> 
> val ln2 = ln two
> 
> Now, for some reason, this isn't being uselessed away, even though the
> only use of ln2 is in library/basic/real.sml

It is not useless because Real_Math_ln is an _ffi, and it is (for now)
assumed that all _ffi's may side effect.

> Since eliminating the Real.fmt call that was hiding behind the
> Time.toString got rid of about 3/4 of the floating point operations, I'm
> guessing that there isn't any single function that is responsible for the
> remaining fp ops.

Would it be possible to tweak your backend to just completely ignore
floating point stuff -- i.e. don't generate any instructions.  If we
really don't use it, then that might work.