An Evaluation of Java for Numerical Computing

This paper describes the design and implementation of high performance numerical software in Java. Our primary goals are to characterize the performance of object‐oriented numerical software written in Java and to investigate whether Java is a suitable language for such endeavors. We have implemente...

Full description

Bibliographic Details
Main Authors: Brian Blount, Siddhartha Chatterjee
Format: Article
Language:English
Published: Hindawi Limited 1999-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/1999/861637
id doaj-a54b4986f70f43a19cf38a8afbfdc577
record_format Article
spelling doaj-a54b4986f70f43a19cf38a8afbfdc5772021-07-02T03:09:47ZengHindawi LimitedScientific Programming1058-92441875-919X1999-01-01729711010.1155/1999/861637An Evaluation of Java for Numerical ComputingBrian Blount0Siddhartha Chatterjee1Department of Computer Science, The University of North Carolina, Chapel Hill, NC 27599‐3175, USADepartment of Computer Science, The University of North Carolina, Chapel Hill, NC 27599‐3175, USAThis paper describes the design and implementation of high performance numerical software in Java. Our primary goals are to characterize the performance of object‐oriented numerical software written in Java and to investigate whether Java is a suitable language for such endeavors. We have implemented JLAPACK, a subset of the LAPACK library in Java. LAPACK is a high‐performance Fortran 77 library used to solve common linear algebra problems. JLAPACK is an object‐oriented library, using encapsulation, inheritance, and exception handling. It performs within a factor of four of the optimized Fortran version for certain platforms and test cases. When used with the native BLAS library, JLAPACK performs comparably with the Fortran version using the native BLAS library. We conclude that high‐performance numerical software could be written in Java if a handful of concerns about language features and compilation strategies are adequately addressed.http://dx.doi.org/10.1155/1999/861637
collection DOAJ
language English
format Article
sources DOAJ
author Brian Blount
Siddhartha Chatterjee
spellingShingle Brian Blount
Siddhartha Chatterjee
An Evaluation of Java for Numerical Computing
Scientific Programming
author_facet Brian Blount
Siddhartha Chatterjee
author_sort Brian Blount
title An Evaluation of Java for Numerical Computing
title_short An Evaluation of Java for Numerical Computing
title_full An Evaluation of Java for Numerical Computing
title_fullStr An Evaluation of Java for Numerical Computing
title_full_unstemmed An Evaluation of Java for Numerical Computing
title_sort evaluation of java for numerical computing
publisher Hindawi Limited
series Scientific Programming
issn 1058-9244
1875-919X
publishDate 1999-01-01
description This paper describes the design and implementation of high performance numerical software in Java. Our primary goals are to characterize the performance of object‐oriented numerical software written in Java and to investigate whether Java is a suitable language for such endeavors. We have implemented JLAPACK, a subset of the LAPACK library in Java. LAPACK is a high‐performance Fortran 77 library used to solve common linear algebra problems. JLAPACK is an object‐oriented library, using encapsulation, inheritance, and exception handling. It performs within a factor of four of the optimized Fortran version for certain platforms and test cases. When used with the native BLAS library, JLAPACK performs comparably with the Fortran version using the native BLAS library. We conclude that high‐performance numerical software could be written in Java if a handful of concerns about language features and compilation strategies are adequately addressed.
url http://dx.doi.org/10.1155/1999/861637
work_keys_str_mv AT brianblount anevaluationofjavafornumericalcomputing
AT siddharthachatterjee anevaluationofjavafornumericalcomputing
AT brianblount evaluationofjavafornumericalcomputing
AT siddharthachatterjee evaluationofjavafornumericalcomputing
_version_ 1721342096284057600