x64 Ubuntu : Intel® Q6600® quad-core |
Each chart bar shows how many times more Time or how many times more Memory one unidentified ↓ k-nucleotide 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 k-nucleotide 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 | C++ GNU g++ #6 | 11.72 | 3.49 | 140,436 | 3415 | 78% 94% 81% 82% |
| 1.6 | C++ GNU g++ #2 | 20.27 | 5.54 | 177,148 | 2673 | 99% 88% 90% 93% |
| 2.4 | C++ GNU g++ #3 | 29.89 | 8.23 | 176,520 | 2313 | 98% 88% 88% 88% |
| 2.6 | C++ GNU g++ | 33.05 | 9.01 | 176,668 | 2106 | 89% 88% 89% 99% |
| 3.4 | Ada 2005 GNAT #2 | 27.89 | 11.89 | 256,692 | 4504 | 45% 75% 30% 84% |
| 4.2 | Java 6 -server #2 | 49.22 | 14.57 | 480,408 | 1602 | 79% 78% 98% 82% |
| 7.3 | Java 6 -server | 88.50 | 25.67 | 1,568,640 | 1330 | 85% 89% 85% 85% |
| 7.9 | Scala #4 | 91.39 | 27.61 | 981,336 | 1287 | 89% 79% 82% 79% |
| 11 | ATS | 36.73 | 36.73 | 125,868 | 1336 | 100% 0% 0% 0% |
| 11 | OCaml #2 | 88.25 | 37.80 | 574,588 | 1205 | 41% 25% 81% 85% |
| 11 | OCaml #3 | 94.18 | 39.93 | 476,980 | 1095 | 79% 24% 87% 44% |
| 16 | Haskell GHC #3 | 128.58 | 56.53 | 427,128 | 2749 | 34% 72% 48% 42% |
| 22 | C GNU gcc #2 | 78.17 | 78.17 | 1,702,416 | 1141 | 0% 0% 100% 0% |
| 22 | Perl | 256.15 | 78.58 | 2,883,780 | 648 | 81% 71% 88% 84% |
| 25 | Fortran Intel | 86.88 | 86.88 | 229,912 | 2238 | 0% 0% 100% 0% |
| 26 | OCaml | 91.03 | 91.03 | 496,616 | 870 | 0% 0% 100% 0% |
| 31 | C# Mono | 108.42 | 107.49 | 560,924 | 1420 | 0% 0% 0% 100% |
| 33 | Python CPython #6 | 5 min | 114.57 | 489,420 | 520 | 48% 47% 92% 89% |
| 35 | Lisp SBCL #3 | 121.38 | 121.38 | 348,620 | 1284 | 0% 0% 100% 0% |
| 36 | Clean | 124.87 | 124.87 | 2,097,740 | 1511 | 0% 100% 0% 0% |
| 36 | Pascal Free Pascal | 126.78 | 126.79 | 129,848 | 2380 | 0% 0% 0% 100% |
| 37 | Pascal Free Pascal #2 | 125.95 | 128.13 | 129,844 | 2383 | 1% 1% 96% 1% |
| 38 | PHP #3 | 7 min | 131.69 | 248,696 | 1268 | 97% 89% 67% 79% |
| 38 | Python CPython #5 | 6 min | 133.04 | 489,424 | 557 | 76% 46% 96% 66% |
| 41 | C GNU gcc | 140.85 | 144.81 | 150,612 | 1340 | 1% 5% 92% 0% |
| 47 | C# Mono #3 | 6 min | 163.38 | 496,168 | 1404 | 94% 20% 14% 92% |
| 49 | Erlang HiPE #3 | 7 min | 171.07 | 711,560 | 932 | 58% 71% 84% 60% |
| 56 | C# Mono #2 | 197.24 | 196.86 | 524,652 | 1012 | 1% 2% 56% 41% |
| 58 | Lua #2 | 204.16 | 204.16 | 670,800 | 613 | 0% 0% 0% 100% |
| 59 | Lua | 204.89 | 206.26 | 685,508 | 601 | 98% 1% 1% 0% |
| 66 | Erlang HiPE | 8 min | 229.90 | 3,845,368 | 930 | 60% 58% 55% 72% |
| 67 | Scheme PLT | 232.84 | 233.18 | 1,298,832 | 623 | 91% 3% 3% 2% |
| 67 | Perl #2 | 229.45 | 233.57 | 780,232 | 359 | 0% 1% 0% 98% |
| 86 | Java 6 -Xint #2 | 17 min | 5 min | 336,432 | 1602 | 85% 85% 88% 99% |
| 87 | Go 6g 8g | 5 min | 5 min | 379,480 | 874 | 0% 96% 3% 0% |
| 118 | Java 6 -Xint | 25 min | 6 min | 787,536 | 1330 | 92% 91% 99% 92% |
| 122 | Lisp SBCL | 7 min | 7 min | 382,300 | 847 | 1% 96% 1% 2% |
| 123 | PHP #2 | 7 min | 7 min | 222,736 | 914 | 100% 0% 0% 0% |
| 127 | JavaScript TraceMonkey | 7 min | 7 min | 1,057,340 | 423 | 98% 1% 1% 0% |
| 132 | Python CPython | 7 min | 7 min | 486,900 | 475 | 1% 0% 99% 1% |
| 143 | Ruby JRuby #2 | 8 min | 8 min | 534,384 | 420 | 2% 33% 66% 2% |
| 155 | JavaScript TraceMonkey #3 | 9 min | 9 min | 442,884 | 390 | 0% 0% 48% 51% |
| 244 | Ruby MRI #2 | 14 min | 14 min | 166,340 | 420 | 0% 0% 100% 0% |
| Erlang HiPE #2 | Failed | 997 | ||||
| Haskell GHC #2 | Failed | 1767 | ||||
| JavaScript TraceMonkey #2 | Bad Output | 400 | ||||
| JavaScript V8 | Timed Out | 1h 00 min | 423 | |||
| JavaScript V8 #2 | Failed | 400 | ||||
| JavaScript V8 #3 | Timed Out | 1h 00 min | 390 | |||
| Lisp SBCL #4 | Failed | 1434 | ||||
| Smalltalk VisualWorks | Bad Output | 1191 | ||||
| Smalltalk VisualWorks #4 | Bad Output | 1296 | ||||
| interesting alternative programs | ||||||
| 0.8 | C++ GNU g++ #5 | 7.92 | 2.73 | 49,540 | 3416 | |
| missing programs | ||||||
| F# Mono | No program | |||||
| Java 6 steady state | No program | |||||
diff program output for this 100KB input file (generated with the fasta program N = 10000) with this output file to check your program is correct before contributing.
We use FASTA files generated by the fasta benchmark as input for this benchmark. Note: the file may include both lowercase and uppercase codes.
Each program should
In practice, less brute-force would be used to calculate k-nucleotide frequencies, for example Virus Classification using k-nucleotide Frequencies and A Fast Algorithm for the Exhaustive Analysis of 12-Nucleotide-Long DNA Sequences. Applications to Human Genomics (105KB pdf).