Gerwin Klein wrote:
On 26/07/2010, at 1:35 PM, David Matthews wrote:
Did you rebuild the compiler before you ran with that version (i.e.
make compiler) or use the original compiler?
I checked out the svn trunk version from scratch, and did run "make
compiler".
OK. This is probably as good an opportunity as any to summarise the
current state of the SVN version.
The current SVN has a number of changes particularly to the compiler.
The idea was to improve performance. The main changes are
1. Major rewrite of the X86 code-generator and combining the 32 and
64-bit versions into a single module. It now supports the floating
point instructions.
2. Changes to the way functions with polymorphic equality are handled
to eliminate the "structural equality" code.
3. Uses the GMP library if that is available when Poly/ML is built
otherwise falls back to the old Poly/ML code.
There are probably a few other things I've forgotten.
I haven't currently released this because, with Isabelle at least,
there's not a real improvement in performance and the extra compile-time
just about balances out the improvement in run-times. The floating
point performance is significantly better but generally floating point
isn't the performance bottle-neck of ML programs. The use of the GMP
library probably improves performance of multiplication and division for
very long precision numbers but is unlikely to make a difference for
numbers that are only slightly larger than single precision.
I'd be interested in feedback if anyone wants to try this out. One
important point to make is that you should run "make compiler" TWICE i.e.
make
make compiler
make compiler
The reason for this is that the format of exception handlers has changed
and if it is only run once there is danger that a raised exception could
encounter code that uses the old format resulting in a segfault.
It's a bit difficult to provide good data at the moment, because I'm
travelling and have only a low-bandwidth connection to my machine in
the office, but I can produce more when I'm back mid Aug.
Let's look into this more carefully when you get back.
David
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml