[MLton-devel] common argument optimization
Stephen Weeks
MLton@mlton.org
Mon, 31 Mar 2003 14:07:24 -0800
> It's not that commonArg would hurt, it's just that flatten and
> localFlatten3 might expose some common arguments.
Ahh. Thanks.
> > > Here are the benchmark results. I believe that the horrid compile
> > > time for hamlet is due to the dominator computation on the graph G.
> >
> > Wow. I'm pretty surprised even with the big graph. After all,
> > dominators is basically linear. Maybe the -diag hurt.
>
> Maybe, but I'm pretty sure it was the size of the graph. Remember, the
> naive version was creating a graph with a node for each variable in the
> SSA function; that's much bigger than the dominator graph of the basis
> blocks. Also, I wasn't thinning repeated edges. Anyways, the pass still
> takes close to 5 seconds on a self-compile, which is relatively high
> compared to many of the other passes.
OK. If you think it's due to dominators, the implementation still has
quite a bit of room for constant-factor speedups. One simple one that
comes to mind would be to use an array for each of piece of node info
(ancestor, bucket, child, ...) instead of per-node tuple of refs.
That would at least save a lot of space (until and if we ever
implement ref-flattening).
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel