Numerical Computing in Java
So Java not only will run anywhere but can be expected to get same answers everywhere
- As long as use of Native (C, Fortran) libraries and indeterminate concurrency controlled
Natural tension between performance (both in terms of speed and precision) and reproducibility
Java has particularly poor floating point performance due to
- As in all applications, immature compiler (JIT) technology
- does not exploit proprietary hardware features (extended precision, fused multiply add)
- does not allow well known compiler optimizations (associativity)
Solution requires "Change in Java Rules" and better compilers
Java Grande Forum working with internal Sun staff on drafting set of proposals
In June 99 ACM meeting Bill Joy of Sun and others endorse Java Grande process and predict that in two years Java will obtain competitive or better performance than C++ and Fortran