/mobile Handheld Friendly website

"After all, facts are facts, and although we may quote one to another with a chuckle the words of the Wise Statesman, 'Lies--damned lies--and statistics,' still there are some easy figures the simplest must understand, and the astutest cannot wriggle out of." Leonard Henry Courtney, 1895

tl;dr

Measurement is highly specific -- the time taken for this task, by this program, when compiled with this compiler, with these options, on this machine, with these workloads.

Same program, same machine, same workload -- but very different performance measurements.

Measurement is not prophesy.

 
 x86 Ubuntu™ Intel® Q6600® one core  x64 Ubuntu™ Intel® Q6600® quad-core  x86 Ubuntu™ Intel® Q6600® quad-core  x64 Ubuntu™ Intel® Q6600® one core 
 
Which programs are fastest?Which programs are fastest?Which programs are fastest?Which programs are fastest?
n-bodyPerform an N-body simulation of the Jovian planetsn-bodyn-body
fannkuch-reduxRepeatedly access a tiny integer-sequencefannkuch-reduxfannkuch-redux
meteor-contestSearch for solutions to shape packing puzzlemeteor-contestmeteor-contest
fastaGenerate and write random DNA sequencesfastafasta
spectral-normCalculate an eigenvalue using the power methodspectral-normspectral-norm
reverse-complementRead DNA sequences and write their reverse-complementreverse-complementreverse-complement
mandelbrotGenerate a Mandelbrot set and write a portable bitmapmandelbrotmandelbrot
k-nucleotideRepeatedly update hashtables and k-nucleotide stringsk-nucleotidek-nucleotide
regex-dnaMatch DNA 8-mers and substitute nucleotides for IUB coderegex-dnaregex-dna
pidigitsCalculate the digits of Pi with streaming arbitrary-precision arithmeticpidigitspidigits
chameneos-reduxRepeatedly perform symmetrical thread rendezvous requestschameneos-reduxchameneos-redux
thread-ringRepeatedly switch from thread to thread passing one tokenthread-ringthread-ring
binary-treesAllocate and deallocate many many binary treesbinary-treesbinary-trees
 
 x86 Ubuntu™ Intel® Q6600® one core  x64 Ubuntu™ Intel® Q6600® quad-core  x86 Ubuntu™ Intel® Q6600® quad-core  x64 Ubuntu™ Intel® Q6600® one core 
 
Ada 2005 GNATAda 2005 GNATAda 2005 GNATAda 2005 GNAT
ATSATSATSATS
C gccC gccC gccC gcc
Clean  Clean
ClojureClojureClojureClojure
C# MonoC# MonoC# MonoC# Mono
C++ g++C++ g++C++ g++C++ g++
Erlang HiPEErlang HiPEErlang HiPEErlang HiPE
F# MonoF# MonoF# MonoF# Mono
Fortran IntelFortran IntelFortran IntelFortran Intel
Go 6g 8gGo 6g 8gGo 6g 8gGo 6g 8g
Haskell GHCHaskell GHCHaskell GHCHaskell GHC
Java 7Java 7Java 7Java 7
JavaScript V8  JavaScript V8
Lisp SBCLLisp SBCLLisp SBCLLisp SBCL
Lua  Lua
Mozart/Oz   
OCamlOCamlOCamlOCaml
Free PascalFree PascalFree PascalFree Pascal
PerlPerlPerlPerl
PHPPHPPHPPHP
Python 3Python 3Python 3Python 3
RacketRacketRacketRacket
Ruby 1.9Ruby 1.9Ruby 1.9Ruby 1.9
JRubyJRubyJRubyJRuby
ScalaScalaScalaScala
Smalltalk VisualWorks  Smalltalk VisualWorks
 
 x86 Ubuntu™ Intel® Q6600® one core  x64 Ubuntu™ Intel® Q6600® quad-core  x86 Ubuntu™ Intel® Q6600® quad-core  x64 Ubuntu™ Intel® Q6600® one core 
 

  Mobile   Conclusions   License   More