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 | 14.80 | 4.31 | 132,452 | 3415 | 81% 80% 99% 84% |
| 1.3 | C++ GNU g++ #2 | 20.12 | 5.50 | 161,516 | 2673 | 89% 88% 89% 99% |
| 1.7 | C++ GNU g++ #3 | 26.85 | 7.48 | 153,276 | 2313 | 100% 86% 87% 87% |
| 1.9 | C++ GNU g++ | 30.09 | 8.32 | 156,512 | 2106 | 88% 99% 87% 88% |
| 2.7 | Ada 2005 GNAT #2 | 28.18 | 11.47 | 254,024 | 4504 | 49% 72% 40% 82% |
| 3.3 | Java 6 -server #2 | 47.53 | 14.24 | 762,548 | 1602 | 80% 80% 95% 79% |
| 5.3 | Java 6 -server | 77.03 | 22.84 | 759,536 | 1330 | 81% 81% 92% 82% |
| 8.0 | C# Mono #3 | 107.38 | 34.34 | 479,860 | 1404 | 87% 76% 69% 79% |
| 9.2 | Scala #4 | 120.61 | 39.80 | 608,340 | 1287 | 78% 75% 75% 74% |
| 12 | Haskell GHC #3 | 112.51 | 52.02 | 407,916 | 2749 | 47% 38% 71% 37% |
| 13 | C GNU gcc #2 | 53.96 | 53.96 | 802,928 | 1141 | 0% 0% 0% 100% |
| 14 | Pascal Free Pascal #2 | 62.42 | 62.42 | 127,780 | 2383 | 0% 0% 0% 100% |
| 15 | Lua LuaJIT #2 | 65.87 | 65.87 | 601,104 | 613 | 0% 0% 100% 0% |
| 15 | Lua LuaJIT | 65.97 | 65.98 | 569,900 | 601 | 70% 0% 0% 30% |
| 21 | Perl | 281.57 | 88.72 | 2,774,904 | 648 | 78% 73% 88% 83% |
| 22 | Clean | 92.87 | 92.87 | 1,573,432 | 1511 | 0% 100% 0% 0% |
| 24 | C# Mono | 104.84 | 104.13 | 472,012 | 1420 | 100% 0% 1% 0% |
| 32 | Fortran Intel | 137.67 | 137.66 | 205,660 | 2238 | 0% 0% 0% 100% |
| 33 | Python CPython #6 | 6 min | 144.14 | 439,968 | 520 | 56% 88% 50% 96% |
| 34 | PHP #3 | 8 min | 144.96 | 247,900 | 1268 | 96% 75% 85% 96% |
| 34 | C GNU gcc | 143.17 | 146.39 | 134,108 | 1340 | 1% 98% 0% 0% |
| 35 | Lisp SBCL #3 | 150.84 | 150.85 | 392,552 | 1284 | 100% 0% 0% 0% |
| 36 | Python CPython #5 | 7 min | 157.21 | 439,968 | 557 | 77% 54% 93% 76% |
| 37 | Erlang HiPE #3 | 7 min | 160.31 | 558,128 | 932 | 82% 62% 62% 77% |
| 40 | Erlang HiPE | 7 min | 174.56 | 2,204,632 | 930 | 50% 80% 67% 61% |
| 41 | C# Mono #2 | 176.16 | 175.53 | 597,996 | 1012 | 0% 87% 13% 0% |
| 47 | Python 3 #4 | 10 min | 204.52 | 842,860 | 577 | 77% 54% 94% 72% |
| 50 | Lua | 216.59 | 216.58 | 619,440 | 601 | 100% 0% 0% 0% |
| 52 | Lua #2 | 221.91 | 223.26 | 670,844 | 613 | 1% 1% 98% 1% |
| 60 | Perl #2 | 253.06 | 256.79 | 709,264 | 359 | 99% 1% 0% 0% |
| 60 | Haskell GHC #2 | 5 min | 258.56 | 2,739,252 | 1767 | 23% 30% 47% 32% |
| 63 | Go 6g 8g | 266.92 | 270.49 | 391,788 | 874 | 96% 9% 6% 2% |
| 65 | Python 3 #2 | 10 min | 279.00 | 842,864 | 563 | 31% 32% 66% 93% |
| 69 | Java 6 -Xint #2 | 17 min | 297.28 | 299,196 | 1602 | 85% 86% 86% 100% |
| 72 | Scheme PLT | 5 min | 5 min | 1,294,924 | 623 | 2% 3% 2% 93% |
| 81 | JavaScript V8 #3 | 5 min | 5 min | 332,956 | 390 | 0% 100% 0% 0% |
| 90 | JavaScript V8 | 6 min | 6 min | 332,884 | 423 | 1% 1% 1% 98% |
| 94 | Lisp SBCL | 6 min | 6 min | 379,584 | 847 | 2% 93% 3% 2% |
| 103 | Java 6 -Xint | 27 min | 7 min | 685,072 | 1330 | 93% 93% 93% 95% |
| 118 | Ruby JRuby #2 | 8 min | 8 min | 423,736 | 420 | 38% 61% 2% 2% |
| 122 | PHP #2 | 8 min | 8 min | 247,900 | 914 | 0% 0% 0% 100% |
| 127 | JavaScript TraceMonkey | 9 min | 9 min | 659,444 | 423 | 2% 97% 0% 0% |
| 130 | Python CPython | 9 min | 9 min | 439,248 | 475 | 0% 0% 99% 0% |
| 165 | Python 3 | 11 min | 11 min | 840,244 | 487 | 4% 96% 0% 0% |
| 168 | JavaScript TraceMonkey #3 | 12 min | 12 min | 427,744 | 390 | 0% 100% 0% 0% |
| 184 | Ruby 1.9 #2 | 13 min | 13 min | 163,236 | 420 | 1% 99% 0% 1% |
| 196 | Ruby MRI #2 | 14 min | 14 min | 147,980 | 420 | 0% 0% 0% 100% |
| ATS | Make Error | 1336 | ||||
| Erlang HiPE #2 | Failed | 997 | ||||
| JavaScript TraceMonkey #2 | Bad Output | 400 | ||||
| JavaScript V8 #2 | Failed | 400 | ||||
| Lisaac | Make Error | 1242 | ||||
| Lisp SBCL #4 | Failed | 1434 | ||||
| Mozart/Oz #2 | Failed | 771 | ||||
| Mozart/Oz | Failed | 791 | ||||
| OCaml #3 | Failed | 1095 | ||||
| OCaml | Failed | 870 | ||||
| OCaml #2 | Failed | 1205 | ||||
| Pascal Free Pascal | Bad Output | 2380 | ||||
| Smalltalk VisualWorks | Bad Output | 1191 | ||||
| Smalltalk VisualWorks #4 | Bad Output | 1296 | ||||
| interesting alternative programs | ||||||
| 0.7 | C++ GNU g++ #5 | 9.90 | 3.15 | 41,468 | 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).