Ubuntu : Intel® Q6600® quad-core |
Compare the performance of Java 6 -server programs against some other language implementation.
For more information about the Java implementation we measured see ↓ about Java 6 -server.
| 1/2 1/3 1/4 Java 6 -server is better | ||||
|---|---|---|---|---|
| Programs | Time | Memory Use | Source Size | Reduced N |
| k-nucleotide | ||||
| fannkuch | 1/4 | 13 | 2 | |
| binary-trees | 1/2 | 3 | ± | |
| regex-dna | 1/2 | 5 | ± | |
| n-body | ± | 16 | ± | |
| fasta | ± | 17 | ± | |
| spectral-norm | ± | 12 | ± | |
| mandelbrot | 2 | 2 | ± | |
| pidigits | 2 | 18 | 3 | |
| chameneos-redux | 2 | 11 | ± | |
| reverse-complement | 3 | 2 | 1/2 | |
± look at the measurements
| Program & Logs | CPU secs | Memory KB | Size B | Elapsed secs | ~ CPU Load |
|---|---|---|---|---|---|
| fannkuch | |||||
| Java 6 -server | 66.10 | 13,768 | 1150 | 18.34 | 80% 75% 99% 99% |
| C++ GNU g++ #2 | 71.42 | 1,092 | 554 | 71.41 | 100% 0% 0% 0% |
| binary-trees | |||||
| Java 6 -server #2 | 30.80 | 289,724 | 603 | 19.57 | 77% 26% 24% 30% |
| C++ GNU g++ #2 | 40.80 | 99,396 | 553 | 40.79 | 0% 0% 0% 100% |
| regex-dna | |||||
| Java 6 -server #2 | 45.39 | 563,420 | 1534 | 16.01 | 79% 67% 78% 58% |
| C++ GNU g++ #3 | 28.80 | 116,612 | 1599 | 28.80 | 31% 0% 0% 70% |
| n-body | |||||
| Java 6 -server #2 | 25.23 | 12,440 | 1424 | 25.21 | 0% 0% 0% 100% |
| C++ GNU g++ #4 | 23.84 | 788 | 1428 | 23.84 | 1% 0% 100% 0% |
| fasta | |||||
| Java 6 -server #2 | 7.52 | 12,672 | 1240 | 7.51 | 98% 0% 0% 2% |
| C++ GNU g++ #4 | 6.07 | 744 | 1266 | 6.07 | 0% 100% 0% 0% |
| spectral-norm | |||||
| Java 6 -server #2 | 15.94 | 12,576 | 950 | 4.09 | 97% 97% 99% 97% |
| C++ GNU g++ #7 | 12.01 | 1,032 | 1114 | 3.01 | 100% 100% 100% 100% |
| mandelbrot | |||||
| Java 6 -server #3 | 46.36 | 48,948 | 903 | 11.72 | 99% 99% 99% 99% |
| C++ GNU g++ #5 | 24.70 | 28,800 | 858 | 6.18 | 100% 100% 100% 100% |
| pidigits | |||||
| Java 6 -server #4 | 13.85 | 28,048 | 1816 | 5.36 | 57% 61% 53% 62% |
| C++ GNU g++ #3 | 2.71 | 1,596 | 682 | 2.72 | 0% 9% 7% 100% |
| chameneos-redux | |||||
| Java 6 -server #4 | 19.72 | 12,816 | 1377 | 7.06 | 56% 51% 77% 78% |
| C++ GNU g++ #4 | 12.10 | 1,160 | 1800 | 3.46 | 83% 76% 99% 100% |
| reverse-complement | |||||
| Java 6 -server #4 | 2.97 | 473,328 | 592 | 2.99 | 36% 57% 0% 7% |
| C++ GNU g++ #2 | 1.81 | 245,092 | 1098 | 1.13 | 15% 31% 21% 88% |
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode)
Home Page: http://java.sun.com/j2se/
Download: http://java.sun.com/j2se/downloads/
"Remember how HotSpot works. It starts by running your program with an interpreter. When it discovers that some method is "hot" -- that is, executed a lot, either because it is called a lot or because it contains loops that loop a lot -- it sends that method off to be compiled. After that one of two things will happen, either the next time the method is called the compiled version will be invoked (instead of the interpreted version) or the currently long running loop will be replaced, while still running, with the compiled method. The latter is known as "on stack replacement" and exists in the 1.3/1.4 HotSpot based systems."