"For every complex problem there is an answer that is clear, simple, and wrong."  H. L. Mencken

What fun! Can you manipulate the multipliers and weights to put your favourite language at the top of the ranking? Increase the Code multiplier! Ignore Memory! Zero out those benchmarks that push your favourite language to the bottom!

The fastest programming language? What are the trade-offs?

  ×   language implementation GM missing
1.0GNU gcc 1.25 
1.0C++ Intel 1.311
1.1Intel 1.33 
1.1Lisaac 1.362
1.1C++ GNU g++ 1.44 
1.3Pascal Free Pascal 1.64 
1.4Digital Mars 1.78 
1.4Clean 1.801
1.5Java 6 -Xms64m 1.83 
1.6Java 6 -server 1.96 
1.8Oberon-2 OO2C 2.255
1.8Haskell GHC 2.26 
1.8Fortran Intel 2.263
1.8Eiffel SmartEiffel 2.291
1.8OCaml 2.312
1.9Java 6 -client 2.44 
1.9Ada 2005 GNAT 2.44 
2.0SML MLton 2.501
2.1Lisp SBCL 2.581
2.1Java 1.4 -server 2.58 
2.1BASIC FreeBASIC 2.61 
2.2Scala 2.76 
2.3CAL 2.84 
2.4C# Mono 2.98 
2.7Nice 3.38 
2.7Java GNU gcj 3.401
3.1SML SML/NJ 3.886
3.5Forth bigForth 4.421
3.8Fortran G95 4.804
4.9Lua LuaJIT 6.152
5.2Mercury 6.505
5.6Scheme Ikarus 7.073
6.6Python Psyco 8.27 
7.1Erlang HiPE 8.87 
8.1Scheme PLT 10.10 
10Smalltalk VisualWorks 13.05 
11Java 6 -Xint 14.31 
12Forth GNU GForth 14.921
12Scheme Chicken 15.382
15Lua 19.352
17Pike 21.932
19Python CPython 23.25 
20Mozart/Oz 25.03 
24Perl 30.681
26PHP 32.551
30Ruby 1.9 37.173
32Groovy 39.591
32Icon 40.656
36Python IronPython 45.252
42Smalltalk GNU 52.943
45Ruby JRuby 55.98 
50Tcl 62.331
53Prolog YAP 66.637
59JavaScript SpiderMonkey 73.414
59CINT 73.858
59Smalltalk Squeak 74.624
60Ruby MRI 74.63 
66Prolog SWI 82.347
294Rebol 369.058
multipliers
Time secs
Memory KB
Code B
benchmarkweight
binary-trees

chameneos-redux

fannkuch

fasta

k-nucleotide

mandelbrot

meteor-contest

n-body

nsieve

nsieve-bits

partial-sums

pidigits

recursive

regex-dna

reverse-complement

spectral-norm

startup

sum-file

thread-ring

 about the Ranking


Read "How not to lie with statistics: the correct way to summarize benchmark results" (pdf).

For each benchmark, B is the best measurement; for each language implementation, the best measurement L is then normalized to L/B

GM is the Weighted Geometric Mean of those L/B ratios.

missing : Language implementations with more than a couple of Timeouts distort the ranking - so they have been excluded. They can still be compared directly against another language implementation.

Revised BSD license