RSSA backend
Matthew Fluet
Matthew Fluet <fluet@CS.Cornell.EDU>
Thu, 17 Jan 2002 17:05:30 -0500 (EST)
Looking at the the slowdowns in the RSSA branch, I think most of them are
explainable.
For (mlton-HEAD) / (mlton-RSSA), we have:
fft 1.08
peek 2.58
tsp 1.09
For (mlton-HEAD -drop-pass knownCase) / (mlton-HEAD), we have:
fft 0.89
peek 0.33
tsp 0.90
So, for (mlton-HEAD -drop-pass knownCase) / (MLton-RSSA), we would have:
fft 0.96
peek 0.85
tsp 0.98
So, that looks fine.
For (mlton-HEAD) / (mlton-RSSA), we have
wc-input1 1.15
Most of that seems attributable to the fact that the HEAD branch
aligns loop headers in the assembly, whereas the RSSA's codegen does not.
For (mlton-HEAD) / (mlton-RSSA), we have
logic 1.13
This one seems to be related to the improved flattener in the HEAD branch;
the hot block in mlton-RSSA is doing some extra selects of a tuple that is
flattened in mlton-HEAD
For (mlton-HEAD) / (mlton-RSSA), we have
ray 1.11
tyan 1.09
Haven't looked at these.
For (mlton-HEAD) / (mlton-RSSA), we have
hamlet 1.13
Hopefully this is just little bits of flattening and loop alignment. It's
too big to really look at in detail.
Anyways, that's everything with runtime of
(mlton-HEAD) / (mlton-RSSA) > 1.02. And there are only three more that
are (mlton-HEAD) / (mlton-RSSA) > 1.00. I think we're looking pretty
good.