JaMake: A Java Compiler Environment

  • Authors:
  • Zoran Budimlic;Ken Kennedy

  • Affiliations:
  • -;-

  • Venue:
  • LSSC '01 Proceedings of the Third International Conference on Large-Scale Scientific Computing-Revised Papers
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

A language of choice for general-purpose programming, Java is quickly becoming popular in more specialized areas, such as scientific computing. However, even though the compilation technologies have significantly improved Java execution, performance is still the main obstacle to the use of Java for scientific applications. Although good Java Virtual Machine implementations are approaching the performance of Fortran on similarly-coded applications, significant performance problems remain because of the power of the object-oriented programming paradigm. Our experiments show that full use of polymorphic, objectoriented programming can result in performance penalties of up to two orders of magnitude. To address this performance difficulty, the authors have developed the JaMake Java transformation system, which uses advanced program analysis and transformation techniques to allow programmers to create extensible and maintainable programs using objectoriented design, while generating Java programs whose performance approaches that of hand-optimized, Fortran-style code. Experiments on our collection of object-oriented scientific programs have shown that transformation by JaMake can yield speed-ups of a factor of ten or more, bringing the performance of these object-oriented programs to within 75% of hand-optimized, Fortran-style code.