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
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;
Conference_Titel :
Code Generation and Optimization (CGO), 2015 IEEE/ACM International Symposium on
Conference_Location :
San Francisco, CA
DOI :
10.1109/CGO.2015.7054191