[MLton] approaches to parallelism in ML

Matthew Fluet fluet at cs.cornell.edu
Tue Oct 10 15:08:54 PDT 2006


>> Both C and native codegen will exist this year.  This first x86-64
>> native codegen will probably still have some pretty easy low-hanging
>> fruit, but should be quite usable.
>
> I'm not volunteering, but out of curiousity how many man months would a
> sparc64 NCG take? It seems like it would be easier than x86. I
> understand that MLton compiles faster with an NCG, but how much do
> applications typically benefit from the NCG?

These are questions that are raised periodically (which probably means I 
should write a wiki page for them).  I don't think that anything 
significant has changed since the last time:

   http://mlton.org/pipermail/mlton/2005-June/027143.html

The end of that message concludes:

   The x86 native codegen is the product of one full-time summer internship
   (2000), one half-time summer internship (2001), and steady part-time
   work (since fall 2000).  And the x86 native codegen is by no means a
   highly tuned beast.  We've revised the lowest level ILs since the x86
   native codegen was started (for the better, making future native
   codegens likely to be slightly easier), but I would still estimate a
   good 4 to 6 months of full-time work to get something in the ballpark
   (i.e., with the C-codgen about 25% slower).

I remain of the opinion that if someone wants to invest the time in a 
low-level target, their best bet is to write a MLRISC or C-- or LLVM 
codegen, and gain multiple targets at one go.  MLton is doing a lot of 
optimization in the middle-end; one doesn't need a particularly 
sophisticated backend to do better than the C codegen.



More information about the MLton mailing list