VisAD news

1. Simple SpreadSheet collaboration
 
We've added a simple collabortation mode to the SpreadSheet,
so one SpreadSheet can import data from cells of other
SpreadSheets.  Much more advanced collabortation is in the
works.
 
 
2. Big speed-up in VisAD line graphics under Java2D
 
This applies for most single width (the default) lines,
including contour lines.
 
 
3. Linux port of Java 2, pre-release-v1
 
It didn't work (AWT) on our Linux systems, but this was consistent
with the warning in its README file about trouble with a libstdc++
library so we'll try again on the next release.
 
Still no update of the AIX port of Java 2.
 
 
4. Java 2 Solaris Production Release
 
First, note that you'll need to install Java3D 1.1.1 to avoid some
thread bugs that occur if you run Java3D 1.1 with the Java 2 Solaris
Production Release.
 
The Java 2 Solaris Production Release is very fast.  In fact, for
simple computations about as fast as C.  I ran a simple speed
comparison between 'identical' C and Java programs.  Here's the Java
code:
 
  public class test2 {
 
    static final int size = 1000000;
    static final int mult = 10;
    static final int iterations = 10;
 
    public static void main(String args[]) {
      int i, j, k;
      float[] array1 = new float[size];
      float[] array2 = new float[size];
 
      for (i=0; i<size; i++) {
        array1[i] = i;
        array2[i] = 2.0f;
      }
      for (j=0; j<iterations; j++) {
        for (k=0; k<mult; k++) {
          for (i=0; i<size; i++) {
            array1[i] = array2[i] * array1[i] + 1.0f;
          }
        }
        System.out.println("interation " + j);
      }
    }
  }
 
And here's the 'identical' C code:
 
  #define size 1000000
  #define mult 10
  #define iterations 10
 
  #include <stdio.h>
  #include <math.h>
  #include <string.h>
 
  main() {
 
    int i, j, k;
    float array1[size];
    float array2[size];
 
    for (i=0; i<size; i++) {
      array1[i] = i;
      array2[i] = 2.0;
    }
    for (j=0; j<iterations; j++) {
      for (k=0; k<mult; k++) {
        for (i=0; i<size; i++) {
          array1[i] = array2[i] * array1[i] + 1.0;
        }
      }
      printf("interation %d\n", j);
    }
 
  }
 
Here are the timings, on my Ultra 10:
 
   9 seconds  - C code compiled with optimization
  12 seconds  - Java code running under Solaris Production Release
  15 seconds  - C code compiled without optimization
 
This is consistent with what we're seeing for the computationally
intensive parts of VisAD.
 
Now we know that Java can be as fast as C and Java3D can be as fast
as OpenGL.  Once this reality is ported to lots of platforms, there
is no reason not to do visualization in pure Java using VisAD.
 
Way to go, Sun.
 
Cheers,
Bill
 
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
whibbard@xxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html