mlyacc benchmark

Stephen Weeks sweeks@intertrust.com
Tue, 11 Jul 2000 09:59:16 -0700 (PDT)


In playing around with the new mlprof Henry sent me, I discovered the
main cause of our slowness on the mlyacc benchmark.  There is a dense
SML case statement on a range of integers (in the case of the compiler
[0, 306]) that gets turned into a sequence of equality tests.  It
would be nice to turn this into a binary tree or a jump table.
Unfortunately, the only way to do this that I see is to change the ILs
Xml, Sxml, and Cps so that they support cases with integer tests.  Any 
other ideas?  I think this should go pretty high on the todo list for
after this release.

BTW, I guess SML/NJ does the same stupid thing, since we are alread
2.3x faster than them on mlyacc.