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.