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)