Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Stress-testing Control Structures for Dynamic Dispatch in Java

Dynamic dispatch, or late binding of function calls, is a salient feature of object-oriented programming languages like C++ and Java. It can be costly on deeply pipelined processors, because dynamic calls translate to hard-to-predict indirect branch instructions, which are prone to causing pipeline bubbles. Several alternative implementation techniques have been designed in the past in order to perform dynamic dispatch without relying on these expensive branch instructions. Unfortunately it is difficult to compare the performance of these competing techniques, and the issue of which technique is best under what conditions still has no clear answer. In this study we aim to answer this question, by measuring the performance of four alternative control structures for dynamic dispatch on several execution environments, under a variety of precisely controlled execution conditions. We stress test these control structures using micro-benchmarks, emphasizing their strenghts and weaknesses, in order to determine the precise execution circumstances under which a particular technique performs best.

Olivier Zendra, INRIA Lorraine-LORIA/McGill University

Karel Driesen, McGill University

BibTeX
@inproceedings {270601,
author = {Olivier Zendra and Karel Driesen},
title = {Stress-testing Control Structures for Dynamic Dispatch in Java},
booktitle = {2nd Java Virtual Machine Research and Technology Symposium (Java VM 02)},
year = {2002},
address = {San Francisco, CA},
url = {https://www.usenix.org/conference/java-vm-02/stress-testing-control-structures-dynamic-dispatch-java},
publisher = {USENIX Association},
month = aug
}
Download

Links

Paper: 
http://www.usenix.org/events/javavm02/full_papers/zendra/zendra.pdf
Paper (HTML): 
http://www.usenix.org/events/javavm02/full_papers/zendra/zendra_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us