How big is the measured performance difference?

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

 reverse-complement 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 reverse-complement 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 1.031.03245,6402275  1% 0% 1% 100%
1.0ATS 1.041.04122,7002077  0% 0% 1% 100%
1.1Ada 2005 GNAT #2 1.071.09197,8643132  0% 1% 0% 99%
1.2C++ GNU g++ #2 1.241.24245,2201098  0% 0% 1% 100%
1.4C++ GNU g++ #3 1.401.41125,420810  1% 1% 0% 100%
1.4GNU gcc #4 1.431.43125,272722  0% 0% 0% 100%
2.1Go 6g 8g 2.142.13160,664550  0% 0% 0% 100%
2.3Scala #4 2.332.35402,976505  0% 0% 0% 99%
2.5OCaml #3 2.552.55388,260582  0% 0% 0% 100%
2.6Haskell GHC #2 2.652.66618,196913  0% 0% 0% 100%
2.6Java 6 -server #4 2.662.71475,772592  0% 1% 0% 97%
2.7Lisp SBCL 2.742.74254,440896  0% 0% 1% 100%
2.7C# Mono 2.822.82162,2041099  0% 0% 0% 100%
2.9OCaml 2.982.99485,104540  1% 0% 0% 100%
3.1C++ GNU g++ 3.203.20245,528571  0% 0% 0% 100%
3.9Pascal Free Pascal #2 4.024.02122,796751  0% 0% 0% 100%
4.6OCaml #2 4.724.72209,724394  0% 0% 0% 99%
5.1Perl #2 5.305.30433,056298  0% 0% 0% 100%
5.3Perl #4 5.445.45124,368237  0% 0% 0% 100%
5.4PHP #2 5.565.57445,220343  0% 0% 0% 100%
5.8Ada 2005 GNAT 6.026.02123,740885  0% 0% 0% 100%
6.1Python CPython #3 6.266.27596,776288  0% 0% 0% 100%
6.8Fortran Intel #2 6.986.98188,376772  0% 0% 0% 100%
8.0PHP 8.308.30370,760297  0% 0% 0% 100%
8.1C# Mono #3 8.388.38263,276863  0% 0% 0% 100%
8.2Ruby MRI #2 8.518.50246,708255  0% 0% 0% 100%
18Ruby JRuby #2 18.6918.71504,424255  0% 0% 0% 100%
19Lua 19.1619.16497,128538  0% 1% 0% 100%
19Scheme PLT #2 19.2519.25463,972554  0% 0% 0% 100%
21Lua #3 21.6721.67155,712593  1% 0% 0% 100%
24Scala #5 25.2525.30704,804358  1% 1% 1% 100%
26Java 6 -Xint #4 26.9426.97460,756592  0% 0% 0% 100%
30Smalltalk VisualWorks 30.9730.97299,940754  0% 0% 0% 100%
37JavaScript V8 #2 38.5538.55367,340456  0% 0% 0% 100%
40Erlang HiPE #4 40.9840.97623,7321167  0% 100% 0% 0%
43Perl 44.6244.62398,304299  0% 0% 0% 100%
43JavaScript TraceMonkey #2 44.8044.801,378,936456  0% 0% 0% 100%
56Erlang HiPE #3 57.7957.62850,024624  1% 1% 99% 0%
Clean Failed834
interesting alternative programs
 Perl #3 Bad Output  263
missing programs
F# Mono No program
Java 6 steady state No program

 reverse-complement benchmark : Read DNA sequences - write their reverse-complement

diff program output for this 10KB input file (generated with the fasta program N = 1000) with this output file to check your program is correct before contributing.

We use the FASTA file generated by the fasta benchmark as input for this benchmark. Note: the file may include both lowercase and uppercase codes.

Each program should

We use these code complements:

code  meaning   complement
A    A                   T
C    C                   G
G    G                   C
T/U  T                   A
M    A or C              K
R    A or G              Y
W    A or T              W
S    C or G              S
Y    C or T              R
K    G or T              M
V    A or C or G         B
H    A or C or T         D
D    A or G or T         H
B    C or G or T         V
N    G or A or T or C    N

"by knowing the sequence of bases of one strand of DNA we immediately know the sequence of the DNA strand which will bind to it, this strand is called the reverse complement"
DNA: Structure and Function

Revised BSD license