PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Selective specialization for object-oriented languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Concrete type inference: delivering object-oriented applications
Concrete type inference: delivering object-oriented applications
Automatic inline allocation of objects
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Scientific Computing: An Introductory Survey
Scientific Computing: An Introductory Survey
Java Virtual Machine Specification
Java Virtual Machine Specification
Java Access to Numerical Libraries
Java Access to Numerical Libraries
Interprocedural symbolic analysis
Interprocedural symbolic analysis
Whole-program optimization of object-oriented languages
Whole-program optimization of object-oriented languages
OoLALA: an object oriented analysis and design of numerical linear algebra
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Almost-whole-program compilation
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
JaMake: A Java Compiler Environment
LSSC '01 Proceedings of the Third International Conference on Large-Scale Scientific Computing-Revised Papers
Automatic program specialization for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
Since the introduction of the Java programming language, there has been widespread interest in the use Java for the high performance scientific computing. One major impediment to such use is the performance penalty paid relative to Fortran. To support our research on overcoming this penalty through compiler technology, we have developed a benchmark suite, called OwlPack, which is based on the popular LINPACK library. Although there are existing implementations of LINPACK in Java, most of these are produced by direct translation from Fortran. As such they do not reflect the style of programming that a good object-oriented programmer would use in Java. Our goal is to investigate how to make object-oriented scientific programming practical. Therefore we developed two object-oriented versions of LINPACK in Java, a true polymorphic version and a “Lite” version designed for higher performance. We used these libraries to perform a detailed performance analysis using several leading Java compilers and virtual machines, comparing the performance of the object-oriented versions of the benchmark with a version produced by direct translation from Fortran. Although Java implementations have been made great strides, they still fall short on programs that use the full power of Java’s object-oriented features. Our ultimate goal is to drive research on compiler technology that will reward, rather than penalize good object-oriented programming practice.