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".
