Too aggressive optimizer?

Stephen Weeks MLton@research.nj.nec.com
Fri, 25 Feb 2000 19:46:07 -0800 (PST)


> Notice that except for the gc case. Optimization tends to decreases the file
> size. I'm wondering why the same doesn't happend with the gc
> version... should I expect that big of a blow up? 

Wow, the gc version is pretty big to start with.  Actually, the blowup 
is pretty consistent with what we've seen for other large programs.
The optimizer shrinks small and medium programs, and blows up large
ones.  That's why we compile MLton and the ML-kit with special flags
throttling polyvariance, inlining, and flattening.  Really, there's
just a lot of engineering work that needs to be done to make the
optimizer more stable (performance wise).

One thing you could do is compile -v, which will show the sizes (in
number of syntax tree nodes) of the intermediate programs.  This
should at least give us an idea of what pass is causing the problem.