÷

 Step 1 : Are the Java 6 -server programs faster? At a glance.

This chart shows 3 comparisons - Time-used, Memory-used and Code-used ~ speed and size.

Each chart bar shows, for one unidentified benchmark, how much the fastest Java 6 -server program used compared to the fastest Python CPython program.


 Step 2 : Are the Java 6 -server programs faster? Approximately.

This table shows 3 comparisons - Time-used, Memory-used and Code-used ~ speed and size.

Each table row shows, for one named benchmark, how much the fastest Java 6 -server program used compared to the fastest Python CPython program.

 Java 6 -server used what fraction? used how many times more? 
Benchmark Time Memory Code
 n-body1/137±
 spectral-norm1/136
 recursive1/47±
 nsieve-bits1/33
 fasta1/32
 fannkuch1/19±
 mandelbrot1/171/3
 chameneos-redux1/16
 binary-trees1/10
 k-nucleotide1/4
 nsieve1/31/2±
 reverse-complement1/2±
 partial-sums±±±
 regex-dna
 pidigits

± read the measurements and then read the program source code.

 Step 3 : Are the Java 6 -server programs faster? Measurements.

This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ≈ CPU Load ~ speed and size.

For each named benchmark, measurements of the fastest Java 6 -server program are shown for comparison against measurements of the fastest Python CPython program.

Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
 n-body 
Java 6 -server14.7511,5241424  
Python CPython2,015.782,4401027  
 spectral-norm 
Java 6 -server24.0110,008514  
Python CPython3,261.322,900282  
 recursive 
Java 6 -server0.4811,628427  
Python CPython22.373,048360  
 nsieve-bits 
Java 6 -server1.0611,480523  
Python CPython34.974,936288  
 fasta 
Java 6 -server21.469,1841240  
Python CPython692.042,420779  
 fannkuch 
Java 6 -server0.288,872555  
Python CPython5.382,404411  
 mandelbrot 
Java 6 -server0.3310,944623  
Python CPython5.5929,632312  
 chameneos-redux 
Java 6 -server17.5112,0921429  
Python CPython275.842,576866  
 binary-trees 
Java 6 -server6.8926,808603  
Python CPython66.9616,172377  
 k-nucleotide 
Java 6 -server15.8970,9641052  
Python CPython58.4525,208475  
 nsieve 
Java 6 -server2.2520,592296  
Python CPython7.3542,400278  
 reverse-complement 
Java 6 -server1.3058,932592  
Python CPython2.7349,072288  
 partial-sums 
Java 6 -server4.8810,648711  
Python CPython7.0312,680482  
 regex-dna 
Java 6 -server7.8175,892921  
Python CPython2.8823,000314  
 pidigits 
Java 6 -server0.238,720938  
Python CPython0.082,164257  

 Step 4 : Are there other Java 6 -server programs for these benchmarks?

Remember - those are just the fastest Java 6 -server and Python CPython programs measured on this OS/machine. Check if there are other implementations of these benchmark programs for Java 6 -server.

Maybe one of those other Java 6 -server programs is fastest on a different OS/machine.

 Step 5 : Are there other faster programs for these benchmarks?

Remember - those are just the fastest Java 6 -server and Python CPython programs measured on this OS/machine. Check if there are faster implementations of these benchmark programs for other programming languages.

Maybe one of those other programs is fastest on a different OS/machine.

 Java 6 -server : ubiquitous jit server virtual machine 

java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Server VM (build 10.0-b23, mixed mode, sharing)

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

Benchmarking the Java HotSpot VM

Revised BSD license

  Home   Flawed   Fastest   License   Help