x64 Ubuntu : Intel® Q6600® quad-core |
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.
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.0 | Ada 2005 GNAT #2 | 38.18 | 9.67 | 2,068 | 1518 | 99% 98% 99% 99% |
| 1.3 | C GNU gcc #2 | 51.43 | 12.97 | 700 | 937 | 99% 99% 99% 100% |
| 1.4 | C++ GNU g++ #3 | 49.75 | 13.74 | 1,300 | 1186 | 80% 76% 100% 100% |
| 2.0 | Java 6 -server | 68.47 | 19.09 | 17,584 | 1150 | 81% 97% 74% 99% |
| 2.1 | Java 6 steady state | 74.50 | 20.56 | 18,704 | 1232 | 79% 78% 99% 100% |
| 2.2 | Haskell GHC #5 | 81.86 | 21.04 | 4,424 | 1204 | 95% 95% 95% 94% |
| 2.5 | Scala #3 | 88.80 | 23.89 | 268,980 | 1001 | 92% 93% 90% 95% |
| 4.1 | C# Mono #2 | 147.03 | 39.67 | 6,396 | 1085 | 85% 100% 95% 89% |
| 4.8 | OCaml #2 | 181.64 | 46.67 | 6,288 | 975 | 99% 96% 99% 97% |
| 5.1 | Fortran Intel | 49.20 | 49.19 | 464 | 521 | 0% 0% 100% 0% |
| 5.6 | Lisp SBCL #2 | 53.66 | 53.66 | 6,748 | 624 | 0% 0% 100% 0% |
| 6.2 | ATS | 59.90 | 59.90 | 592 | 1191 | 100% 0% 0% 0% |
| 6.6 | OCaml | 63.50 | 63.49 | 928 | 485 | 3% 0% 0% 97% |
| 6.9 | Clean | 66.36 | 66.36 | 620 | 925 | 0% 0% 100% 0% |
| 7.0 | C GNU gcc | 67.86 | 67.86 | 584 | 628 | 100% 0% 0% 0% |
| 7.0 | C++ GNU g++ #2 | 67.99 | 67.99 | 1,228 | 554 | 0% 100% 0% 0% |
| 7.6 | Java 6 -server #4 | 73.76 | 73.69 | 15,888 | 555 | 0% 0% 100% 0% |
| 9.4 | Scala #2 | 91.22 | 91.18 | 16,236 | 473 | 0% 0% 100% 0% |
| 9.5 | Ada 2005 GNAT | 91.65 | 91.65 | 1,500 | 746 | 100% 0% 0% 0% |
| 12 | Go 6g 8g | 117.55 | 117.54 | 772 | 523 | 0% 0% 0% 100% |
| 13 | C# Mono | 123.48 | 123.47 | 5,756 | 549 | 100% 0% 0% 0% |
| 13 | Pascal Free Pascal | 130.04 | 130.03 | 52 | 712 | 0% 0% 0% 100% |
| 15 | F# Mono #5 | 143.71 | 143.72 | 8,076 | 470 | 0% 0% 100% 0% |
| 18 | Java 6 -Xint | 10 min | 173.70 | 12,248 | 1150 | 80% 99% 77% 99% |
| 19 | Erlang HiPE #3 | 12 min | 187.20 | 9,536 | 864 | 95% 95% 100% 99% |
| 23 | F# Mono #4 | 219.34 | 219.40 | 8,104 | 497 | 99% 0% 0% 0% |
| 23 | F# Mono #3 | 219.62 | 219.64 | 8,300 | 522 | 84% 0% 15% 0% |
| 56 | Scheme PLT #2 | 9 min | 9 min | 12,432 | 549 | 43% 57% 0% 0% |
| 70 | Smalltalk VisualWorks | 11 min | 11 min | 22,764 | 772 | 0% 0% 100% 0% |
| 72 | JavaScript V8 #2 | 11 min | 11 min | 9,260 | 488 | 0% 0% 100% 0% |
| 82 | Java 6 -Xint #4 | 13 min | 13 min | 12,032 | 555 | 0% 0% 0% 100% |
| 98 | Perl #3 | 1h 02 min | 15 min | 8,808 | 471 | 99% 100% 100% 100% |
| 114 | PHP #3 | 1h 12 min | 18 min | 25,900 | 745 | 100% 99% 100% 100% |
| 137 | Scala | 22 min | 22 min | 394,328 | 453 | 0% 34% 59% 7% |
| 145 | Haskell GHC #3 | 23 min | 23 min | 3,448 | 341 | 0% 0% 0% 100% |
| 185 | Ruby JRuby #3 | 30 min | 29 min | 220,648 | 340 | 65% 1% 1% 33% |
| 192 | Lua | 30 min | 30 min | 1,076 | 492 | 0% 0% 0% 100% |
| 233 | JavaScript TraceMonkey #2 | 37 min | 37 min | 2,688 | 488 | 14% 51% 34% 0% |
| 277 | Perl #2 | 44 min | 44 min | 2,056 | 391 | 9% 0% 91% 0% |
| 324 | Erlang HiPE | 52 min | 52 min | 9,224 | 594 | 0% 0% 100% 0% |
| 346 | Python CPython #2 | 55 min | 55 min | 3,580 | 387 | 0% 0% 100% 0% |
| 404 | Perl | 1h 05 min | 1h 05 min | 1,980 | 348 | 0% 0% 100% 0% |
| 697 | Ruby MRI #3 | 1h 52 min | 1h 52 min | 2,584 | 340 | 0% 0% 0% 100% |
| interesting alternative programs | ||||||
| 2.4 | C# Mono #3 | 84.09 | 23.24 | 6,420 | 1089 | |
| 5.0 | Java 6 -server #3 | 48.47 | 48.46 | 14,512 | 914 | |
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)