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

What fun! Increase the Code multiplier! Ignore Memory! Zero out those benchmarks that push your favourite language to the bottom!

Which balance between Code-used and Time-used and Memory-used is best for you? Zero out those benchmarks which are unlike what your programs do!

  ×   language implementation GM missing
1.0C++ Intel 1.432
1.0Pascal Free Pascal 1.431
1.1GNU gcc 1.571
1.2Intel 1.711
1.4Lisaac 2.013
1.4C++ GNU g++ 2.06 
1.6Eiffel SmartEiffel 2.252
1.6Fortran Intel 2.354
1.6Ada 2005 GNAT 2.351
1.7Digital Mars 2.46 
1.9Clean 2.652
2.0BASIC FreeBASIC 2.861
2.0OCaml 2.873
2.3Haskell GHC 3.35 
2.4Fortran G95 3.465
2.8SML MLton 3.952
2.8Forth bigForth 3.992
2.8Oberon-2 OO2C 4.006
4.3Lua LuaJIT 6.073
4.3C# Mono 6.101
4.5Forth GNU GForth 6.452
4.7Java 6 -Xms64m 6.73 
4.8Java 6 -server 6.78 
4.9Java 6 -client 7.03 
5.0SML SML/NJ 7.147
5.0Java 1.4 -server 7.181
5.8Python Psyco 8.26 
6.2Nice 8.91 
6.4Scala 9.151
6.4CAL 9.15 
6.8Lisp SBCL 9.642
6.8Java GNU gcj 9.762
7.1Lua 10.093
7.1Scheme Chicken 10.133
7.3Mercury 10.426
8.4Erlang HiPE 11.93 
9.0Scheme PLT 12.87 
9.4Python CPython 13.43 
11Pike 15.073
11Icon 15.237
11Perl 15.682
12Java 6 -Xint 16.66 
12Smalltalk VisualWorks 16.88 
13Mozart/Oz 18.441
14Scheme Ikarus 20.234
17Ruby 1.9 23.804
17PHP 23.962
18Tcl 25.912
19Smalltalk GNU 27.654
24Prolog SWI 34.038
25Ruby MRI 36.15 
30Python IronPython 42.773
37Groovy 52.572
37Smalltalk Squeak 53.115
42Ruby JRuby 59.85 
48JavaScript SpiderMonkey 69.065
51Prolog YAP 72.148
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

 Which is best for you?


Which balance between Code-used and Time-used and Memory-used is best for you?


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 (at the largest workload) distort the ranking - so they have been excluded. They can still be compared directly against another language implementation.


There are other ways to analyse and present this data: ask Which programming languages have the fastest programs? or look for patterns in Code-used Time-used Shapes or take the Summary Data and do your own analysis!

Revised BSD license