The evolution of a high-performing Java virtual machine

  • Authors:
  • W. Gu;N. A. Burns;M. T. Collins;W. Y. P. Wong

  • Affiliations:
  • IBM Network Computing Software Division, 11400 Burnet Road, Austin, Texas;IBM Network Computing Software Division, 11400 Burnet Road, Austin, Texas;IBM Network Computing Software Division, 11400 Burnet Road, Austin, Texas;IBM Network Computing Software Division, 11400 Burnet Road, Austin, Texas

  • Venue:
  • IBM Systems Journal
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Early JavaTM virtual machines (Jvms) possessed several significant performance bottlenecks that inhibited the speed of Java workloads. This paper presents the methodology that was used by IBM to identify and eliminate these bottlenecks for improving the performance of Java applications running on several operating system platforms. In addition, several of the key performance problems that were common to all early Java virtual machine implementations and how they were solved for IBM enhanced Jvms are described in detail. The issues discussed in this paper are focused on problems found in core Jvm components, such as object synchronization, object allocation, heap management, text rendering, run-time resolution, and Java class library methods. The results obtained from applying the described methodology and eliminating the identified performance bottlenecks increased the performance of IBM Java virtual machines by as much as four times on some workloads. The technology discussed in this paper is applicable to other Jvm implementations.