The Predictability of Libraries
Brad Calder, Dirk Grunwald, Amitabh Srivastava
Abstract
This study examines the use of commonly used libraries among 43 C and
FORTRAN programs to see if the libraries have common behavior across
different programs. We examine the behavior of the most commonly used
Unix libraries on Digital Unix. We found that libraries have very
predictable behavior between applications. This implies that
profile-based compiler optimizations may be effective for libraries
across applications. Therefore, one can use profile optimizations on
shared and non-shared libraries before they are shipped, allowing a
program using those libraries to take advantage of profile-based
optimization without having to gather any profiles. All results in this
study are shown using branch misprediction rates. We feel this metric
indicates the likelihood that programs have similar behavior, and
allows comparison to earlier studies comparing profile-based branch
prediction between runs of the same program.
Keywords
branch architecture, branch prediction, profile-based optimization,
performance measurement
Talk
Overheads (0 bytes)