Dynamic code reordering method for improvement of Java performance

Tetsuyasu Yamada*, Shinji Tanaka, Satoshi Shiraishi, Keiichi Koyanagi

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

When the Java language is used in a large-scale real-time communications system, processing power presents a problem. The authors have been investigating an essential solution for this problem. This paper proposes a technique in which native code which has already been on-line compiled by a JIT compiler is dynamically reordered, based on profiling data obtained in the Java execution environment. The realization procedure is clearly described. The technique is to place segments of compiled code with high execution frequency close to each other as a group in memory. In addition, codes with low execution frequency are allocated to another area, so that the codes with high frequencies are more compactly placed. By this measure, the instruction cache hit rate of the processor is greatly increased and the processing performance in a large-scale program can be improved. The extent of performance improvement by applying the dynamic code reordering technique is evaluated, using applications with characteristics close to those of the real large-scale real-time communications program, and the effectiveness of the proposed method is demonstrated.

Original languageEnglish
Pages (from-to)78-88
Number of pages11
JournalElectronics and Communications in Japan, Part I: Communications (English translation of Denshi Tsushin Gakkai Ronbunshi)
Volume89
Issue number11
DOIs
Publication statusPublished - 2006 Nov 1

Keywords

  • Instruction cache
  • JIT
  • Java
  • Performance

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'Dynamic code reordering method for improvement of Java performance'. Together they form a unique fingerprint.

Cite this