/mobile Handheld Friendly website

 regex-dna benchmark ≈50MB N=5,000,000

Each chart bar shows how many times more Memory, one ↓ regex-dna program used, compared to the program that used least Memory.

These are not the only programs that could be written. These are not the only compilers and interpreters. These are not the only programming languages.

Column × shows how many times more each program used compared to the benchmark program that used least.

    sortsort sort
  ×   Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
1.0C gcc #4 18.796.1786,2361525  74% 68% 100% 64%
1.1Ada 2005 GNAT #5 17.855.6797,9883492  77% 69% 93% 77%
1.2Ada 2005 GNAT #6 18.706.16100,2323740  63% 69% 72% 100%
1.3C++ g++ #4 17.055.42113,5921759  70% 92% 97% 58%
1.4C gcc #2 23.6823.70124,7601099  78% 0% 0% 22%
1.6Perl #2 30.7511.21141,108527  49% 70% 76% 80%
1.9ATS 24.6624.68167,3082482  0% 0% 0% 100%
2.0C++ g++ #2 5.834.10173,632695  0% 60% 82% 0%
2.1C++ g++ #3 27.6416.45179,596844  68% 2% 64% 35%
2.2Perl #4 62.2662.29189,296440  0% 0% 0% 100%
2.4C++ g++ 5.375.38203,344648  1% 0% 0% 100%
2.4Python 3 #5 21.7721.78208,944424  0% 0% 0% 100%
2.5PHP #2 50.4550.48215,200449  0% 0% 0% 100%
2.6ATS #2 24.956.67221,1123474  94% 96% 92% 94%
2.6PHP #3 35.8035.82222,432459  0% 0% 0% 100%
2.9Haskell GHC #2 36.539.58248,7721518  95% 97% 95% 96%
3.0Python 3 26.3412.88255,724478  41% 33% 99% 32%
3.1OCaml #4 1.459.20264,7041050  84% 85% 86% 99%
3.4Ruby 2.0 #3 30.6713.88290,688501  41% 89% 41% 50%
3.4C gcc 5.762.50292,1282579  69% 68% 49% 46%
3.5Erlang #6 179.8857.58301,5441058  99% 76% 65% 72%
3.9Erlang HiPE #6 182.8147.68337,0961058  92% 96% 99% 97%
4.5Ruby 2.0 43.4843.51389,532308  0% 96% 4% 0%
4.6Ruby 2.0 #2 30.2330.25393,916417  8% 32% 33% 27%
5.1Go #7 65.1764.50436,904652  100% 1% 0% 0%
5.4Go #8 65.0819.87469,876785  77% 75% 76% 99%
5.9OCaml 19.3410.96511,6761502  26% 27% 87% 38%
5.9OCaml #3 19.3410.97511,6841014  26% 88% 26% 38%
6.4Clojure #3 49.7325.08554,628710  44% 32% 40% 82%
6.4OCaml #2 18.8518.88555,452615  0% 0% 100% 0%
6.5Java 7  #7 22.4321.92560,3281284  1% 0% 100% 2%
6.6C# Mono #6 69.8829.79571,500638  76% 47% 63% 50%
6.7Go 157.2460.04574,724733  71% 63% 65% 63%
7.0C# Mono #2 61.6261.67604,084594  3% 2% 11% 85%
7.9Racket 41.0841.09677,072527  90% 10% 0% 0%
8.2Java 7  #5 24.828.55709,672929  65% 82% 65% 79%
8.5Java 7  #2 41.5913.25734,2081534  81% 81% 79% 74%
9.3Scala 39.0434.86805,252611  4% 5% 4% 99%
9.5Lisp SBCL #3 45.4221.81818,6281948  41% 39% 89% 41%
9.5Java 7  #4 24.9323.58820,540921  2% 2% 2% 99%
11Scala #2 34.0115.48980,808668  39% 77% 61% 43%
16F# Mono 67.2221.571,394,136639  92% 75% 69% 77%
23Ruby JRuby 83.7277.401,945,376308  3% 3% 98% 3%
24Ruby JRuby #2 46.9718.762,039,392417  71% 70% 59% 51%
24Ruby JRuby #3 46.8818.772,040,348501  68% 82% 46% 54%
33C# Mono 62.6062.762,816,940624  0% 0% 100% 0%
34F# Mono #2 63.0663.212,969,364413  0% 0% 100% 0%
37F# Mono #3 68.7623.913,166,244870  64% 75% 82% 67%
Dart Timed Out5 min632
Erlang Timed Out10 min622
Erlang HiPE Timed Out10 min622
Java 7  #6 Failed1410
Lisp SBCL Bad Output591
Racket #2 Bad Output536
Ruby 2.0 #4 Bad Output523
Ruby JRuby #4 Bad Output523
Scala #4 Failed723
Scala #3 Failed633
"wrong" (different) algorithm / less comparable programs
1.3Pascal Free Pascal 19.5519.56110,5641199
1.6Perl #7 4.332.92140,044567
2.2Perl #6 4.454.46190,244477
3.0Java 7  #3 7.692.84261,7882084
4.5Erlang HiPE #7 7.803.05387,6161198
4.5Erlang #7 8.613.59387,6321198
missing benchmark programs
Fortran Intel No program
Pascal Free Pascal No program

 regex-dna benchmark : Match DNA 8-mers and substitute nucleotides for IUB codes

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 are trying to show the performance of various programming language implementations - so we ask that contributed programs not only give the correct result, but also use the same algorithm to calculate that result.

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

Revised BSD license

  Home   Conclusions   License   Play