How big is the measured performance difference?

Each chart bar shows how many times more Time or how many times more Memory one unidentified ↓ fannkuch program used, compared to the program that used least Time or the program that used least Memory.

 fannkuch benchmark N=12

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

Compare how much Memory the fannkuch programs used - sort Memory KB. Compare how much Code the programs used - sort Code B

Column × shows how many times more each program used compared to the program that used least.

    sort sort sort sort
  ×   Program Source Code CPU secs Elapsed secs Memory KB Code B ~ CPU Load
1.0Ada 2005 GNAT #2 38.1138.122,0641518  0% 0% 0% 100%
1.3Fortran Intel 49.2049.20464521  0% 0% 0% 100%
1.3C++ GNU g++ #3 50.3450.341,2601186  0% 0% 0% 100%
1.3GNU gcc #2 51.3851.37692937  0% 0% 0% 100%
1.4Lisp SBCL #2 53.6353.636,752624  0% 0% 0% 100%
1.6ATS 59.8859.885961191  0% 0% 0% 100%
1.7OCaml 63.4863.48932485  0% 0% 0% 100%
1.7Clean 66.3666.35620925  0% 0% 0% 100%
1.8GNU gcc 67.8767.86580628  0% 0% 0% 100%
1.8C++ GNU g++ #2 68.0068.001,224554  0% 0% 0% 100%
1.9Java 6 -server 72.6872.6817,4601150  0% 0% 0% 100%
2.0Java 6 steady state 76.8176.8018,6121232  0% 0% 0% 100%
2.1Haskell GHC #5 80.4180.414,4121204  0% 0% 0% 100%
2.4Java 6 -server #4 90.7290.7515,568555  0% 0% 0% 100%
2.4Scala #2 90.7990.8015,852473  0% 0% 0% 100%
2.4Ada 2005 GNAT 91.6791.671,504746  0% 0% 0% 100%
2.8Scala #3 107.96107.9640,9321001  0% 0% 0% 100%
3.0C# Mono #2 113.81113.816,0841085  0% 0% 0% 100%
3.1Go 6g 8g 117.55117.54776523  0% 0% 0% 100%
3.2C# Mono 123.52123.525,752549  0% 0% 0% 100%
3.4Pascal Free Pascal 130.22130.2148712  0% 0% 0% 100%
3.8F# Mono #5 143.70143.698,100470  0% 0% 0% 100%
5.3OCaml #2 203.70203.696,212975  0% 0% 0% 100%
5.7F# Mono #4 216.89216.888,336497  0% 0% 0% 100%
5.9F# Mono #3 225.30225.298,144522  0% 0% 0% 100%
14Scheme PLT #2 8 min8 min12,436549  0% 0% 0% 100%
17Java 6 -Xint 10 min10 min12,2401150  0% 0% 0% 100%
17Erlang HiPE #3 10 min10 min8,244864  0% 0% 100% 0%
18Smalltalk VisualWorks 11 min11 min22,796772  0% 0% 0% 100%
18JavaScript V8 #2 11 min11 min9,264488  0% 0% 0% 100%
20Java 6 -Xint #4 12 min12 min12,032555  0% 0% 0% 100%
35Scala 22 min22 min361,096453  0% 0% 0% 100%
37Haskell GHC #3 23 min23 min3,436341  0% 0% 0% 100%
48Ruby JRuby #3 30 min30 min97,672340  0% 0% 0% 100%
49Lua 30 min30 min1,068492  0% 0% 0% 100%
60JavaScript TraceMonkey #2 38 min38 min2,696488  0% 0% 0% 100%
70Perl #2 44 min44 min2,060391  0% 0% 0% 100%
84Erlang HiPE 53 min53 min8,024594  0% 49% 50% 0%
88Python CPython #2 56 min56 min3,580387  0% 0% 0% 100%
97Perl #3 1h 01 min1h 01 min8,804471  0% 0% 0% 100%
106Perl 1h 07 min1h 07 min1,976348  0% 0% 0% 100%
117PHP #3 1h 14 min1h 14 min12,892745  0% 0% 0% 100%
178Ruby MRI #3 1h 52 min1h 52 min2,588340  0% 0% 0% 100%
interesting alternative programs
1.3Java 6 -server #3 48.5348.5514,304914
2.3C# Mono #3 86.8886.876,0721089

 fannkuch benchmark : Indexed-access to tiny integer-sequence

diff program output N = 7 with this output file to check your program is correct before contributing.

Each program should

The conjecture is that this maximum count is approximated by n*log(n) when n goes to infinity.

FANNKUCH is an abbreviation for the German word Pfannkuchen, or pancakes, in analogy to flipping pancakes."


The fannkuch benchmark is defined in Performing Lisp Analysis of the FANNKUCH Benchmark, Kenneth R. Anderson and Duane Rettig (26KB postscript)

Revised BSD license