Java 5 vs Java 6

This test run focuses on differences in performance between the Java versions 5 and 6. The test was run for both managed and external referenced content.

Test setup

  • 50,000 objects were ingested in an empty repository for each test run.
  • For each test the same set of objects on the same machine was ingested.
  • No Java optimizations
  • Tomcat 5.5
  • MPTT triplestore
  • Hardware as described here
  • Software as described here
  • Classes were compiled using Java 5 (there is no performance benefit in recompiling code with Java 6 except for class loading which is of little importance for this particular use case)
  • Java 5 and Java 6 are both 64 bit versions

External Referenced Content

Java 5

# objectstotal (ms)avg (ms)min (ms)max (ms)
50,0005,015,104100386,028

Java 6

# objectstotal (ms)avg (ms)min (ms)max (ms)
50,0004,964,56299374,106

The difference in total execution time between Java 5 and Java 6 is hardly noticable. The performance gain in this scenario for Java 6 is roughly 1.1% which is well within variance.

The image below shows both ingest runs overlayed.

Managed Content

Java 5

# objectstotal (ms)avg (ms)min (ms)max (ms)
50,0007,531,557150485,328

Java 6

# objectstotal (ms)avg (ms)min (ms)max (ms)
49,9987,417,313148495,698

This test, as well, does not reveal any significant performance impact in using Java 6. The benefit in runtime is about 1.5%.

Combination

The image below shows all four test runs smoothed with a simple moving average of 300. This period was chosen arbitrarily.

Conclusion

For the ingest Java 6 does not seem to have a significant advantage over Java 5. As to why that is has yet to be determined. Sun Microsystems does attribute a far greater performance gain to Java 6 (see this whitepaper for details).

Add new attachment

In order to upload a new attachment to this page, please use the following box to find the file, then click on “Upload”.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
fedrep1_combined_jdk6vsjdk15_a... 32.386 kB 1 Mon May 26 17:53:13 CEST 2008 KST
png
fedrep1_combined_jdk6vsjdk15_a... 13.208 kB 1 Mon May 26 17:53:32 CEST 2008 KST
png
fedrep1_managed_jdk6vsjdk15_12... 92.461 kB 1 Mon May 26 17:53:52 CEST 2008 KST
png
fedrep1_managed_jdk6vsjdk15_60... 19.488 kB 1 Mon May 26 17:54:02 CEST 2008 KST
png
fedrep1_managed_jdk6vsjdk15_ma... 22.457 kB 1 Mon May 26 17:54:17 CEST 2008 KST
png
fedrep1_managed_jdk6vsjdk15_ma... 9.574 kB 1 Mon May 26 17:54:27 CEST 2008 KST
png
fedrep1_unmanaged_jdk6vsjdk15_... 85.438 kB 1 Mon May 26 17:54:46 CEST 2008 KST
png
fedrep1_unmanaged_jdk6vsjdk15_... 14.411 kB 1 Mon May 26 17:54:53 CEST 2008 KST
png
fedrep1_unmanaged_jdk6vsjdk15_... 20.545 kB 1 Mon May 26 17:55:02 CEST 2008 KST
png
fedrep1_unmanaged_jdk6vsjdk15_... 8.867 kB 1 Mon May 26 17:55:10 CEST 2008 KST
« This page (revision-1) was last changed on 21-May-2008 13:57 by unknown [RSS]