• DocumentCode
    1569395
  • Title

    Efficient path profiling

  • Author

    Ball, Thomas ; Larus, James R.

  • Author_Institution
    Bell labs., Lucent Technol., Murray Hill, NJ, USA
  • fYear
    1996
  • Firstpage
    46
  • Lastpage
    57
  • Abstract
    A path profile determines how many times each acyclic path in a routine executes. This type of profiling subsumes the more common basic block and edge profiling, which only approximate path frequencies. Path profiles have many potential uses in program performance tuning, profile-directed compilation, and software test coverage. This paper describes a new algorithm for path profiling. This simple, fast algorithm selects and places profile instrumentation to minimize run-time overhead. Instrumented programs run with overhead comparable to the best previous profiling techniques. On the SPEC95 benchmarks, path profiling overhead averaged 31%, as compared to 16% for efficient edge profiling. Path profiling also identifies longer paths than a previous technique, which predicted paths from edge profiles (average of 88, versus 34 instructions). Moreover, profiling shows that the SPEC95 train input datasets covered most of the paths executed in the ref datasets
  • Keywords
    optimising compilers; program testing; SPEC95 benchmarks; path profiling; path profiling overhead; profile-directed compilation; program performance tuning; ref datasets; run-time overhead; software test coverage; Aerospace electronics; Benchmark testing; Force control; Force measurement; Frequency; Government; Instruments; Runtime; Sun; Tuning;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1996. MICRO-29.Proceedings of the 29th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Paris
  • Print_ISBN
    0-8186-7641-8
  • Type

    conf

  • DOI
    10.1109/MICRO.1996.566449
  • Filename
    566449