[MLton] Question on profile.fun

Matthew Fluet fluet@cs.cornell.edu
Wed, 8 Jun 2005 09:22:31 -0400 (EDT)

> > So, there is an insane shift after flatten and possibly a minor
> > shift after contify3.  I don't know if this actually lays the blame
> > squarely at the feet of Flatten.flatten (or possibly
> > Shrink.shrinkFunction).
> You could determine this by separating out the call to shrink from
> flatten into a separate pass and then dropping profile labels in
> between flattening and shrinking.

Here are the results of that experiment:

     1.97 dropProfileR
          flatten (* without shrinking *)
     1.94 dropProfileFlatten
    12.94 dropProfileS

> > Flatten.flatten doesn't appear to be sensitive to the presence of
> > profiling statements in the program.  But, there is something
> > definitely going on there.
> Maybe.  At least the shrinker does refer to profile annotations.

Well, the above is encouraging, at least from the point of view that it 
confirms that flatten itself isn't really sensitive to the presence of 
profiling annotations.