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 benchmark 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 benchmark programs used - sort Code B
Column × shows how many times more each program used compared to the benchmark 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 | 12.77 | 3.61 | 139,616 | 3415 | 87% 86% 86% 96% |
| 2.7 | C++ GNU g++ | 27.52 | 9.62 | 174,684 | 2106 | 24% 91% 85% 85% |
| 3.3 | Ada 2005 GNAT #2 | 35.11 | 11.99 | 256,660 | 4865 | 39% 78% 79% 96% |
| 3.9 | Java 6 -server #2 | 48.05 | 14.17 | 513,612 | 1602 | 79% 95% 84% 81% |
| 5.2 | C GNU gcc #6 | 59.99 | 18.74 | 205,332 | 2439 | 79% 49% 97% 96% |
| 6.8 | Java 6 -server | 85.02 | 24.64 | 1,315,184 | 1330 | 87% 77% 84% 95% |
| 7.4 | Scala #4 | 85.20 | 26.75 | 986,224 | 1287 | 76% 87% 76% 76% |
| 8.8 | Scala | 107.75 | 31.84 | 929,068 | 1647 | 78% 85% 93% 82% |
| 10 | OCaml #2 | 89.23 | 37.70 | 574,592 | 1205 | 73% 88% 44% 30% |
| 16 | Haskell GHC #3 | 114.32 | 57.98 | 372,008 | 2749 | 78% 0% 90% 24% |
| 22 | Pascal Free Pascal #2 | 78.83 | 78.83 | 130,616 | 2383 | 0% 100% 0% 0% |
| 25 | OCaml | 89.68 | 89.68 | 496,608 | 870 | 100% 0% 0% 0% |
| 30 | C# Mono | 107.32 | 106.95 | 560,940 | 1420 | 0% 0% 3% 97% |
| 30 | C# Mono #3 | 278.58 | 108.34 | 495,192 | 1404 | 1% 70% 93% 94% |
| 54 | C# Mono #2 | 196.78 | 195.97 | 525,328 | 1012 | 0% 0% 100% 0% |
| 63 | Scheme PLT | 226.73 | 226.90 | 1,299,592 | 623 | 3% 2% 92% 1% |
| 83 | Go 6g 8g | 298.06 | 5 min | 379,484 | 856 | 0% 99% 0% 0% |
| 85 | Java 6 -Xint #2 | 18 min | 5 min | 354,460 | 1602 | 83% 98% 87% 86% |
| 122 | Java 6 -Xint | 27 min | 7 min | 1,153,376 | 1330 | 91% 93% 88% 98% |
| ATS | Make Error | 1247 | ||||
| Haskell GHC #2 | Failed | 1767 | ||||
| "interesting alternative" programs | ||||||
| 0.7 | C++ GNU g++ #5 | 7.27 | 2.43 | 49,552 | 3416 | |
| 5.2 | C GNU gcc #5 | 58.56 | 18.66 | 294,064 | 2519 | |
| missing benchmark programs | ||||||
| F# Mono | No program | |||||
| Java 6 steady state | No program | |||||
diff program output for this 250KB input file (generated with the fasta program N = 25000) 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).