"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.0C++ GNU g++ 1.22 
1.2GNU gcc 1.51 
1.6ATS 1.912
1.8Java 6 steady state 2.184
1.8Ada 2005 GNAT 2.261
1.9Java 6 -server 2.33 
2.2Lisaac 2.665
2.6Haskell GHC 3.21 
2.8Scala 3.39 
3.4Pascal Free Pascal 4.211
3.7Lisp SBCL 4.471
4.0C# Mono 4.86 
4.0Fortran Intel 4.874
4.3Clean 5.253
4.7Lua LuaJIT 5.712
5.3OCaml 6.452
8.1F# Mono 9.963
12Go 6g 8g 14.681
13Erlang HiPE 15.57 
14Java 6 -Xint 17.72 
16JavaScript V8 19.683
22Scheme PLT 27.30 
24Lua 29.512
27PHP 33.041
28Perl 33.811
29Smalltalk VisualWorks 35.801
35Python CPython 42.78 
45JavaScript TraceMonkey 55.175
51Python 3 62.11 
55Ruby JRuby 67.64 
60Mozart/Oz 73.012
70Ruby 1.9 85.39 
109Ruby MRI 132.82 
multipliers
Time secs
Memory KB
Code B
benchmarkweight
binary-trees

chameneos-redux

fannkuch

fasta

k-nucleotide

mandelbrot

meteor-contest

n-body

pidigits

regex-dna

reverse-complement

spectral-norm

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