Branch Prediction and the Performance of Interpreters - Don't Trust Folklore - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2013

Branch Prediction and the Performance of Interpreters - Don't Trust Folklore

Erven Rohou
André Seznec

Résumé

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. Conventional wisdom attributes a significant penalty to this branch, due to its high misprediction rate. We revisit this assumption, considering current interpreters, and modern predictors. Using both hardware counters and simulation, we show that the accuracy of indirect branch prediction is no longer critical for interpreters. We also compare the characteristics of these interpreters and analyze why the indirect branch is less important than before.
Les langages interprétés sont utilisés dans des contextes variés. Ils fournissent portabilité et facilité de développement au prix de la performance. La littérature de la dernière décennie s'est intéressée aux raisons de la lenteur des interpréteurs, et à des techniques d'optimisation. Une proportion certaine de ces travaux se concentre sur la boucle de dispatch, et en particulier sur l'implémentation du switch qui est typiquement une instruction de saut indirect. Selon une idée reçue, ce saut est à l'origine d'une forte pénalité, en raison d'une mauvaise prédiction de branchement. Nous réévaluons cette hypothèse, avec des interpréteurs actuels et des prédicteurs modernes. Nous montrons à l'aide des compteurs de performance matériels et de simulation que la précision du prédicteur de branchement n'est plus un problème pour les interpréteurs. Nous comparons aussi les caractéristiques de ces interpréteurs et nous analysons pourquoi les sauts indirects sont moins importants que par le passé.

Domaines

Autre [cs.OH]
Fichier principal
Vignette du fichier
RR-8405.pdf (821.42 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00911146 , version 1 (28-11-2013)

Identifiants

  • HAL Id : hal-00911146 , version 1

Citer

Erven Rohou, Bharath Narasimha Swamy, André Seznec. Branch Prediction and the Performance of Interpreters - Don't Trust Folklore. [Research Report] RR-8405, INRIA. 2013, pp.23. ⟨hal-00911146⟩
483 Consultations
887 Téléchargements

Partager

Gmail Facebook X LinkedIn More