How big is the measured performance difference?

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

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

This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ~ CPU Load.

Compare how much Memory the regex-dna 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.0C++ GNU g++ #4 14.674.7897,0641759  84% 60% 100% 63%
1.2JavaScript V8 #2 5.645.64211,488373  100% 0% 1% 0%
1.3C++ GNU g++ 19.686.2399,2521588  65% 64% 100% 88%
1.8GNU gcc #4 26.158.5094,7121525  67% 73% 67% 100%
1.8JavaScript TraceMonkey 8.548.54570,712365  0% 100% 0% 0%
2.0JavaScript TraceMonkey #2 9.649.64581,052373  0% 0% 0% 100%
2.6Java 6 -server #5 30.6412.27665,900929  51% 54% 71% 74%
2.6Haskell GHC #4 36.3412.57167,0561672  63% 61% 65% 96%
3.0Perl #2 39.0714.23153,584527  55% 66% 58% 96%
3.1Scala #3 33.1514.89802,148659  38% 41% 52% 92%
3.3Java 6 -server #2 46.2315.86578,8521534  71% 66% 85% 69%
3.6Ada 2005 GNAT 46.4217.17158,1643334  58% 79% 64% 64%
4.2Scala #2 54.3719.92740,9161520  66% 74% 67% 65%
4.2Lisp SBCL #3 44.4019.95830,1681948  75% 49% 50% 46%
6.0C++ GNU g++ #3 28.7828.78116,3681599  0% 100% 0% 0%
6.1Python CPython 29.2229.22191,156342  0% 100% 0% 0%
6.3Java 6 -server #4 30.8430.27711,812921  1% 7% 78% 16%
6.7GNU gcc #2 32.1732.17124,6961099  0% 0% 100% 0%
6.8Python 3 32.3632.36382,112349  100% 0% 0% 0%
6.9ATS 33.0033.00155,7762551  100% 0% 0% 0%
8.1Scheme PLT 38.8538.85614,904835  93% 0% 7% 7%
8.6Scheme PLT #2 40.9840.98615,292669  0% 100% 0% 0%
8.8Scala 42.7341.90855,812663  2% 94% 2% 5%
9.0Perl #4 42.9042.90561,996440  0% 100% 0% 0%
9.1C# Mono #6 120.5643.23655,020638  58% 63% 58% 100%
10PHP #2 47.3047.30219,512449  0% 0% 0% 100%
11Ruby 1.9 50.6950.66321,172323  0% 0% 100% 0%
12Ruby MRI 58.3958.39254,336323  0% 0% 0% 100%
14Erlang HiPE #6 210.3064.90138,8601058  68% 69% 85% 97%
15C# Mono #5 244.6069.66847,7281647  84% 87% 90% 89%
18C# Mono 84.2784.272,666,644624  0% 0% 100% 0%
18Ruby JRuby 87.4184.49536,144323  4% 1% 1% 96%
20Erlang HiPE #5 238.2293.91793,816855  58% 47% 89% 58%
31Erlang HiPE 5 min147.291,066,8321022  57% 80% 45% 56%
31Java 6 -Xint #5 5 min147.97682,692929  55% 76% 63% 47%
35Java 6 -Xint #2 8 min168.59556,8121534  67% 67% 69% 97%
66Smalltalk VisualWorks 5 min5 min296,392584  100% 0% 1% 1%
69Java 6 -Xint #4 5 min5 min679,480921  90% 0% 0% 10%
78Erlang HiPE #3 6 min6 min1,066,932687  0% 54% 0% 47%
104Go 6g 8g 8 min8 min2,270,996634  0% 65% 35% 0%
Ada 2005 GNAT #3 Failed1233
Ada 2005 GNAT #4 Failed1352
C# Mono #2 Failed645
C# Mono #3 Failed607
Erlang HiPE #2 Failed808
JavaScript V8 Bad Output365
Lisaac Make Error1299
Lisp SBCL Failed591
Mozart/Oz #2 Timed Out1h 00 min589
OCaml #2 Failed615
OCaml Failed1261
OCaml #3 Failed892
interesting alternative programs
1.1Perl #3 5.485.48300,124440
 Fortran Intel Failed  2425
1.4Perl #6 6.556.55201,960477
2.3Pascal Free Pascal #3 11.0211.02224,9962932
2.7Perl #5 12.9812.98203,772484
2.8Python CPython #2 13.1613.16189,136314
2.8Haskell GHC 39.3113.34249,528519
3.0Python 3 #2 14.4714.47389,868316
4.2PHP 47.5919.86210,0361044
4.4Perl 21.1421.14202,852426
5.0F# Mono 32.5623.78706,636796
5.0Pascal Free Pascal 24.0024.01122,8841199
7.3Lua #3 34.6934.69340,048427
8.2Lua LuaJIT #3 38.9338.94298,672427
9.1Ruby 1.9 #2 43.6343.62408,764396
9.8Ruby MRI #2 46.7846.77352,724396
14C# Mono #4 67.1667.16481,960657
15Ruby JRuby #2 74.1371.26532,176396
missing programs
Clean No program
F# Mono No program
Fortran Intel No program
Java 6 steady state No program
Lua No program
Lua LuaJIT 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 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