One possible problem with the test harness is that is captures a significant
amount of GC time when using default jvm parameters. Logging the GC events
illustrates this e.g. java -Xloggc:timing.log ...

In order to reduce this as a factor the heap can be made bigger e.g.
java -Xms512m -Xmx512m ...

Where code is cpu-bound outside of underlying dlls etc there is a good chance
that the server JVM will do a better job [the "client" JVM is the default].
Using java -server ... seems to reduce the difference between ebe and row

Because JVMs keep improving it may be useful to include the output from
java -version when reporting results. When I was playing with the test harness
I mainly focussed on:

# /opt/java/bin/java -version
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)

# /opt/java/bin/java -server -version
java version "1.4.1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Server VM (build 1.4.1-b21, mixed mode)

The harness has a very high memory-to-computation ratio, and so memory subsystem
performance characteristics are likely to play a significant role e.g.
bandwidth and latency to L1/L2/L3/main memory, size of DTLB, page size, cache
line size, cache associativity, memory interleaving, use of prefetch and number
of outstanding prefetches etc. At a low level, use of System.arraycopy invokes
memcpy(), which is usually a tuned implementation for the specific platform.

Using hardware performance counters, where available, can be helpful in
understanding what a workload looks like at a cpu pipeline level.  On SPARC in
particular I tend to use the performance analyzer from S1S7.  Has anybody else
explored hardware profiling under Linux?  From http://www.osc.edu/~troy/lperfex
it looks like I've got to compile the support into the kernel [I use redhat 8 at
home], but I've not tried that yet.

============================================================================
   ,-_|\   Richard Smith - SE Melbourne
  /     \  Sun Microsystems Australia         Phone : +61 3 9869 6200
[EMAIL PROTECTED]                        Direct : +61 3 9869 6224
  \_,-._/  476 St Kilda Road                    Fax : +61 3 9869 6290
       v   Melbourne Vic 3004 Australia
===========================================================================

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to