Whole Program Paths

I found this article very interesting.  First because the project was
trying to concentrate this same subject of what we were calling
hierarchical paths or something like that.  When we tried to come up
with a storage format we decided to make a tree interface that could
contain the path information, but as was pointed out in the path this
method stores O(n) of the trace size which is too large.  The DAG
described in this paper stores in a much smaller space.  I was also
really impressed by the running times of the WPP formation described in
Table 1.

I still have a number of questions relating to this work that hopefully
the project will be able to answer.  Also he talks about the
performance, but he never tried to actually optimize the code based on
the paths that were found.  Is there a real performance advantage by
using the paths discovered by these algorithms that could justify the
cost of compile time.  Also how much do these hot paths differ from some
of the other techniques that try to find paths in a program.