High Performance Numerical Computing in Java: Language and Compiler Issues [chapter]

Pedro V. Artigas, Manish Gupta, Samuel P. Midkiff, José E. Moreira
2000 Lecture Notes in Computer Science  
Poor performance on numerical codes has slowed the adoption of Java within the technical computing community. In this paper we describe a prototype array library and a research prototype compiler that support standard Java and deliver near-Fortran performance on numerically intensive codes. We discuss in detail our implementation of: (i) an efficient Java package for true multidimensional arrays; (ii) compiler techniques to generate efficient access to these arrays; and (iii) compiler
more » ... ons that create safe, exception free regions of code that can be aggressively optimized. These techniques work together synergistically to make Java an efficient language for technical computing. In a set of four benchmarks, we achieve between 50 and 90% of the performance of highly optimized Fortran code. This represents a several-fold improvement compared to what can be achieved by the next best Java environment. § Java is a trademark of Sun Microsystems Inc.
doi:10.1007/3-540-44905-1_1 fatcat:b62p5nmquvf6th4ylvymlfecnq