A run time software test tool instruments a program to perform a low
overhead profiling of the program's execution, which records the
execution time of frequent acyclic control flow paths using hardware
performance counters. An analysis of the profiling data is performed to
identify those program paths that have significant variation in execution
time across different dynamic traversals in the same program run. This
variation (measured as the difference between the fastest execution of
that path and slower executions) represents the potential speedup that
potentially could be achieved if the paths were optimized (such as by the
addition of simple pre-fetch optimizations) to do away with these
variations. The variational paths are identified to the programmer to
guide optimization.