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

Reply via email to