• DocumentCode
    1933713
  • Title

    Branch prediction and the performance of interpreters — Don´t trust folklore

  • Author

    Rohou, Erven ; Swamy, Bharath Narasimha ; Seznec, Andre

  • Author_Institution
    Inria, Sophia-Antipolis, France
  • fYear
    2015
  • fDate
    7-11 Feb. 2015
  • Firstpage
    103
  • Lastpage
    114
  • Abstract
    Interpreters have been used in many contexts. They provide portability and ease of development at the expense of performance. The literature of the past decade covers analysis of why interpreters are slow, and many software techniques to improve them. A large proportion of these works focuses on the dispatch loop, and in particular on the implementation of the switch statement: typically an indirect branch instruction. Folklore attributes a significant penalty to this branch, due to its high misprediction rate. We revisit this assumption, considering state-of-the-art branch predictors and the three most recent Intel processor generations on current interpreters. Using both hardware counters on Has well, the latest Intel processor generation, and simulation of the IT-TAGE, we show that the accuracy of indirect branch prediction is no longer critical for interpreters. We further compare the characteristics of these interpreters and analyze why the indirect branch is less important than before.
  • Keywords
    program compilers; program control structures; program interpreters; Haswell; IT-TAGE simulation; Intel processor generations; branch prediction; dispatch loop; hardware counters; indirect branch instruction; interpreter performance; misprediction rate; software techniques; switch statement; Benchmark testing; Bridges; Cryptography; Hardware; History; Radiation detectors; Switches;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2015 IEEE/ACM International Symposium on
  • Conference_Location
    San Francisco, CA
  • Type

    conf

  • DOI
    10.1109/CGO.2015.7054191
  • Filename
    7054191