Java Rules for Floating Point
Java is particularly slow on floating point -- why?
- Immature Compiler and library Technology
- Does not Exploit optimally hardware on PowerPC and Intel platforms
- Current Java rules optimized for SPARC architecture …..
- Does not use well known compiler optimizations for blocking, unrolling, reorganizing expressions
Current Java rules imply that if careful (avoid indeterminate threads and use of JNI) Java not only runs everywhere but gets identical results everywhere
Need to study Reproducibility -- Performance Trade-offs
- Maybe people have emphasized performance too much but you are not going to change their minds quickly -- should be tolerant of all perceived needs
- Note current Java is both lower precision AND lower performance than other languages