How big is the measured performance difference?

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.

 k-nucleotide benchmark ≈240MB N=25,000,000

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.0C++ GNU g++ #6 12.773.61139,6163415  87% 86% 86% 96%
2.7C++ GNU g++ 27.529.62174,6842106  24% 91% 85% 85%
3.3Ada 2005 GNAT #2 35.1111.99256,6604865  39% 78% 79% 96%
3.9Java 6 -server #2 48.0514.17513,6121602  79% 95% 84% 81%
5.2GNU gcc #6 59.9918.74205,3322439  79% 49% 97% 96%
6.8Java 6 -server 85.0224.641,315,1841330  87% 77% 84% 95%
7.4Scala #4 85.2026.75986,2241287  76% 87% 76% 76%
8.8Scala 107.7531.84929,0681647  78% 85% 93% 82%
10OCaml #2 89.2337.70574,5921205  73% 88% 44% 30%
16Haskell GHC #3 114.3257.98372,0082749  78% 0% 90% 24%
22Pascal Free Pascal #2 78.8378.83130,6162383  0% 100% 0% 0%
25OCaml 89.6889.68496,608870  100% 0% 0% 0%
30C# Mono 107.32106.95560,9401420  0% 0% 3% 97%
30C# Mono #3 278.58108.34495,1921404  1% 70% 93% 94%
54C# Mono #2 196.78195.97525,3281012  0% 0% 100% 0%
63Scheme PLT 226.73226.901,299,592623  3% 2% 92% 1%
83Go 6g 8g 298.065 min379,484856  0% 99% 0% 0%
85Java 6 -Xint #2 18 min5 min354,4601602  83% 98% 87% 86%
122Java 6 -Xint 27 min7 min1,153,3761330  91% 93% 88% 98%
ATS Make Error1247
Haskell GHC #2 Failed1767
"interesting alternative" programs
0.7C++ GNU g++ #5 7.272.4349,5523416
5.2GNU gcc #5 58.5618.66294,0642519
missing benchmark programs
F# Mono No program
Java 6 steady state No program

 k-nucleotide benchmark : Hashtable update and k-nucleotide strings

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).

Revised BSD license

  Home   Flawed   Fastest   License   Help