K. Palaniappan, and
Proc Joint ACM-ISCOPE Conf. Java Grande,
Interactive scientific visualization
applications require both high performance graphics and
numerical computation capabilities. C/C++ programs are able
to take direct advantage of specialized graphics rendering
hardware (referred to as a Graphics Processing Unit or GPU) for
display and special SIMD instructions within the CPU for
computation. The former using for example the OpenGL library
and latter using compiler extensions. Software developed in
Java offers portability, robustness and security. However, the
graphics rendering performance, memory efficiency, and
computational speed of Java for visualization of large
scientific data sets has not been well characterized.
Benchmarking experiments were done using the JLoop (Java)
and Loop (C/C++) visualization software for animation of 2D
datasets. Preliminary results for six different hardware
platforms showed that compared to the C/C++ version, the
Java implementation was four to five times slower for graphics
image animation, used on average 2.5 to three times more
memory, and was up to 3.6 times slower using a pure numerical
benchmark that simulated image pixel operations. Such
benchmarks should be used to improve the Java VM
performance across platforms, similar to JIT-compiler design.
author = "S. Sangappa and K. Palaniappan and R. Tollerton",
title = "Benchmarking Java against C/C++ for interactive scientific visualization",
year = 2002,
booktitle = "Proc Joint ACM-ISCOPE Conf. Java Grande",
pages = "236",
keywords = "visualization, parallelization, big data",
doi = "10.1145/583810.583848",
url = "http://dl.acm.org/citation.cfm?id=583848"
S. Sangappa, K. Palaniappan, and R. Tollerton. Benchmarking Java against C/C++ for interactive scientific visualization. Proc Joint ACM-ISCOPE Conf. Java Grande, pages 236, 2002.