x64 Ubuntu : Intel® Q6600® one core |
Each chart bar shows how many times more Time or how many times more Memory one unidentified ↓ fasta program used, compared to the program that used least Time or the program that used least Memory.
This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ~ CPU Load.
Compare how much Memory the fasta 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.0 | C++ GNU g++ | 2.26 | 2.26 | 964 | 1470 | 1% 1% 0% 100% |
| 2.3 | ATS | 5.20 | 5.20 | 512 | 2257 | 0% 0% 0% 100% |
| 2.5 | C GNU gcc #4 | 5.73 | 5.73 | 472 | 1221 | 0% 0% 0% 100% |
| 2.7 | C++ GNU g++ #4 | 6.13 | 6.13 | 916 | 1266 | 0% 0% 0% 100% |
| 2.9 | Ada 2005 GNAT #4 | 6.56 | 6.56 | 1,576 | 1623 | 0% 0% 0% 100% |
| 3.4 | Go 6g 8g | 7.79 | 7.79 | 764 | 1058 | 0% 0% 0% 100% |
| 3.7 | C GNU gcc | 8.30 | 8.30 | 536 | 1185 | 0% 0% 0% 100% |
| 3.7 | Java 6 -server #2 | 8.33 | 8.36 | 14,580 | 1240 | 0% 0% 0% 100% |
| 3.7 | C# Mono #2 | 8.40 | 8.40 | 5,236 | 1180 | 0% 0% 0% 100% |
| 3.8 | Fortran Intel | 8.51 | 8.50 | 488 | 1155 | 0% 0% 0% 100% |
| 4.0 | Scala | 9.16 | 9.16 | 15,368 | 1207 | 0% 0% 0% 100% |
| 4.4 | Ada 2005 GNAT | 10.01 | 10.01 | 1,496 | 1346 | 0% 0% 0% 100% |
| 5.0 | Clean | 11.41 | 11.41 | 1,624 | 1420 | 0% 0% 0% 100% |
| 5.8 | Pascal Free Pascal #4 | 13.09 | 13.08 | 220 | 1112 | 0% 1% 0% 100% |
| 6.0 | OCaml #3 | 13.63 | 13.64 | 996 | 1042 | 0% 0% 0% 100% |
| 6.6 | Lisp SBCL | 15.00 | 15.00 | 6,892 | 1419 | 0% 0% 0% 100% |
| 7.0 | F# Mono | 15.83 | 15.83 | 7,524 | 1057 | 0% 0% 0% 100% |
| 7.1 | Lisp SBCL #2 | 16.09 | 16.09 | 6,904 | 1617 | 0% 0% 0% 100% |
| 7.6 | Haskell GHC #2 | 17.25 | 17.24 | 1,904 | 1096 | 0% 0% 0% 100% |
| 13 | Erlang HiPE #2 | 29.71 | 29.71 | 7,916 | 1164 | 0% 0% 0% 100% |
| 18 | JavaScript V8 #2 | 41.33 | 41.33 | 28,980 | 923 | 0% 0% 0% 100% |
| 21 | Smalltalk VisualWorks | 46.79 | 46.79 | 22,716 | 1171 | 0% 0% 0% 100% |
| 22 | Java 6 -Xint #2 | 49.46 | 49.46 | 12,016 | 1240 | 0% 0% 0% 100% |
| 23 | Lua | 51.73 | 51.73 | 1,448 | 1039 | 0% 0% 0% 100% |
| 25 | Scheme PLT | 55.93 | 55.93 | 8,844 | 1053 | 0% 1% 0% 100% |
| 26 | Erlang HiPE | 58.82 | 58.83 | 7,844 | 1039 | 0% 0% 0% 100% |
| 27 | Scheme PLT #2 | 60.42 | 60.41 | 12,636 | 1055 | 0% 0% 0% 100% |
| 28 | Lua #2 | 63.06 | 63.11 | 1,136 | 993 | 3% 1% 4% 100% |
| 38 | JavaScript V8 | 87.04 | 87.04 | 9,220 | 791 | 0% 0% 0% 100% |
| 60 | JavaScript TraceMonkey #2 | 135.74 | 135.77 | 104,772 | 923 | 1% 0% 1% 100% |
| 75 | Python CPython #2 | 168.68 | 168.74 | 3,640 | 779 | 1% 1% 1% 100% |
| 86 | JavaScript TraceMonkey | 193.81 | 193.82 | 80,636 | 791 | 1% 1% 1% 100% |
| 90 | PHP #3 | 204.50 | 204.69 | 4,256 | 1030 | 1% 0% 0% 100% |
| 137 | Perl #4 | 5 min | 5 min | 2,548 | 934 | 1% 1% 1% 100% |
| 200 | Ruby JRuby | 7 min | 7 min | 298,448 | 744 | 1% 0% 0% 100% |
| 218 | Perl #2 | 8 min | 8 min | 2,540 | 886 | 0% 0% 0% 100% |
| 283 | PHP #2 | 10 min | 10 min | 4,244 | 1007 | 0% 0% 0% 100% |
| 291 | Ruby MRI #2 | 10 min | 10 min | 197,640 | 732 | 0% 0% 1% 100% |
| interesting alternative programs | ||||||
| 5.3 | OCaml | 11.96 | 11.96 | 1,000 | 1046 | |
| 5.6 | OCaml #2 | 12.63 | 12.63 | 1,000 | 984 | |
| 6.4 | Haskell GHC #3 | 14.44 | 14.44 | 1,936 | 1406 | |
| 79 | Ruby MRI #3 | 177.96 | 177.97 | 102,268 | 848 | |
| 111 | Perl | 251.02 | 251.09 | 2,532 | 791 | |
| missing programs | ||||||
| Java 6 steady state | No program | |||||
diff program output N = 1000 with this 10KB output file to check your program is correct before contributing.
Each program should
IM = 139968 IA = 3877 IC = 29573 Seed = 42 Random (Max) Seed = (Seed * IA + IC) modulo IM = Max * Seed / IM
We'll use the generated FASTA file as input for other benchmarks (reverse-complement, k-nucleotide).
Random DNA sequences can be based on a variety of Random Models (554KB pdf). You can use Markov chains or independently distributed nucleotides to generate random DNA sequences online.