/mobile Handheld Friendly website

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

Each chart bar shows how many times slower, one ↓ regex-dna program was, compared to the fastest program.

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.

     sortsortsort
  ×   Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
1.0OCaml #4 1.459.20264,7041050  84% 85% 86% 99%
3.7C++ g++ 5.375.38203,344648  1% 0% 0% 100%
4.0C gcc 5.762.50292,1282579  69% 68% 49% 46%
4.0C++ g++ #2 5.834.10173,632695  0% 60% 82% 0%
12C++ g++ #4 17.055.42113,5921759  70% 92% 97% 58%
12Ada 2005 GNAT #5 17.855.6797,9883492  77% 69% 93% 77%
13Ada 2005 GNAT #6 18.706.16100,2323740  63% 69% 72% 100%
13C gcc #4 18.796.1786,2361525  74% 68% 100% 64%
13OCaml #2 18.8518.88555,452615  0% 0% 100% 0%
13OCaml #3 19.3410.97511,6841014  26% 88% 26% 38%
13OCaml 19.3410.96511,6761502  26% 27% 87% 38%
15Python 3 #5 21.7721.78208,944424  0% 0% 0% 100%
15Java 7  #7 22.4321.92560,3281284  1% 0% 100% 2%
16C gcc #2 23.6823.70124,7601099  78% 0% 0% 22%
17ATS 24.6624.68167,3082482  0% 0% 0% 100%
17Java 7  #5 24.828.55709,672929  65% 82% 65% 79%
17Java 7  #4 24.9323.58820,540921  2% 2% 2% 99%
17ATS #2 24.956.67221,1123474  94% 96% 92% 94%
18Python 3 26.3412.88255,724478  41% 33% 99% 32%
19C++ g++ #3 27.6416.45179,596844  68% 2% 64% 35%
21Ruby 2.0 #2 30.2330.25393,916417  8% 32% 33% 27%
21Ruby 2.0 #3 30.6713.88290,688501  41% 89% 41% 50%
21Perl #2 30.7511.21141,108527  49% 70% 76% 80%
23Scala #2 34.0115.48980,808668  39% 77% 61% 43%
25PHP #3 35.8035.82222,432459  0% 0% 0% 100%
25Haskell GHC #2 36.539.58248,7721518  95% 97% 95% 96%
27Scala 39.0434.86805,252611  4% 5% 4% 99%
28Racket 41.0841.09677,072527  90% 10% 0% 0%
29Java 7  #2 41.5913.25734,2081534  81% 81% 79% 74%
30Ruby 2.0 43.4843.51389,532308  0% 96% 4% 0%
31Lisp SBCL #3 45.4221.81818,6281948  41% 39% 89% 41%
32Ruby JRuby #3 46.8818.772,040,348501  68% 82% 46% 54%
32Ruby JRuby #2 46.9718.762,039,392417  71% 70% 59% 51%
34Clojure #3 49.7325.08554,628710  44% 32% 40% 82%
35PHP #2 50.4550.48215,200449  0% 0% 0% 100%
42C# Mono #2 61.6261.67604,084594  3% 2% 11% 85%
43Perl #4 62.2662.29189,296440  0% 0% 0% 100%
43C# Mono 62.6062.762,816,940624  0% 0% 100% 0%
43F# Mono #2 63.0663.212,969,364413  0% 0% 100% 0%
45Go #8 65.0819.87469,876785  77% 75% 76% 99%
45Go #7 65.1764.50436,904652  100% 1% 0% 0%
46F# Mono 67.2221.571,394,136639  92% 75% 69% 77%
47F# Mono #3 68.7623.913,166,244870  64% 75% 82% 67%
48C# Mono #6 69.8829.79571,500638  76% 47% 63% 50%
58Ruby JRuby 83.7277.401,945,376308  3% 3% 98% 3%
108Go 157.2460.04574,724733  71% 63% 65% 63%
124Erlang #6 179.8857.58301,5441058  99% 76% 65% 72%
126Erlang HiPE #6 182.8147.68337,0961058  92% 96% 99% 97%
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
3.0Perl #7 4.332.92140,044567
3.1Perl #6 4.454.46190,244477
5.3Java 7  #3 7.692.84261,7882084
5.4Erlang HiPE #7 7.803.05387,6161198
5.9Erlang #7 8.613.59387,6321198
13Pascal Free Pascal 19.5519.56110,5641199
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