[MLton] approaches to parallelism in ML
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:
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