Ubuntu : Intel® Q6600® quad-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++ | 3.78 | 3.78 | 816 | 1470 | 99% 1% 0% 0% |
| 1.4 | C GNU gcc #4 | 5.18 | 5.19 | 396 | 1221 | 100% 0% 0% 0% |
| 1.4 | ATS | 5.38 | 5.38 | 432 | 2257 | 100% 0% 0% 0% |
| 1.6 | C++ GNU g++ #4 | 6.07 | 6.07 | 748 | 1266 | 100% 0% 0% 0% |
| 2.0 | Java 6 -server #2 | 7.50 | 7.49 | 12,648 | 1240 | 0% 1% 99% 0% |
| 2.1 | C GNU gcc | 7.94 | 7.94 | 456 | 1185 | 100% 0% 0% 0% |
| 2.1 | Pascal Free Pascal #4 | 8.12 | 8.12 | 212 | 1112 | 0% 0% 0% 100% |
| 2.3 | C# Mono #2 | 8.71 | 8.71 | 4,628 | 1180 | 0% 0% 0% 100% |
| 2.3 | Ada 2005 GNAT #4 | 8.73 | 8.73 | 1,300 | 1623 | 0% 0% 100% 0% |
| 2.5 | Scala | 9.40 | 9.37 | 13,108 | 1207 | 0% 0% 1% 100% |
| 2.6 | Fortran Intel | 9.98 | 9.98 | 396 | 1155 | 0% 0% 0% 100% |
| 2.8 | Ada 2005 GNAT | 10.41 | 10.41 | 1,228 | 1346 | 100% 0% 0% 0% |
| 3.3 | Lisp SBCL | 12.48 | 12.48 | 5,188 | 1419 | 0% 0% 0% 100% |
| 3.4 | OCaml #3 | 12.88 | 12.88 | 728 | 1042 | 0% 93% 0% 0% |
| 3.5 | Go 6g 8g | 13.31 | 13.31 | 604 | 1058 | 0% 100% 0% 0% |
| 3.7 | Clean | 13.91 | 13.91 | 1,568 | 1420 | 0% 100% 0% 0% |
| 3.8 | Lisp SBCL #2 | 14.38 | 14.38 | 5,228 | 1617 | 0% 0% 0% 100% |
| 4.1 | Haskell GHC #2 | 15.58 | 15.58 | 1,680 | 1096 | 100% 0% 0% 0% |
| 4.3 | Lua LuaJIT | 16.31 | 16.30 | 1,200 | 1039 | 0% 0% 99% 0% |
| 5.0 | F# Mono | 18.84 | 18.83 | 6,512 | 1057 | 0% 0% 100% 0% |
| 9.3 | Lua LuaJIT #2 | 35.31 | 35.31 | 884 | 993 | 0% 100% 0% 0% |
| 11 | JavaScript V8 #2 | 40.41 | 40.41 | 23,924 | 923 | 10% 96% 0% 0% |
| 12 | Smalltalk VisualWorks | 47.10 | 47.09 | 12,752 | 1171 | 0% 0% 0% 100% |
| 14 | Erlang HiPE #2 | 52.58 | 52.57 | 5,944 | 1164 | 100% 0% 0% 0% |
| 15 | Java 6 -Xint #2 | 55.80 | 55.84 | 10,156 | 1240 | 0% 0% 100% 0% |
| 16 | Lua | 58.63 | 58.63 | 1,148 | 1039 | 0% 100% 0% 0% |
| 17 | Scheme PLT | 64.04 | 64.05 | 7,780 | 1053 | 0% 1% 0% 100% |
| 18 | Scheme PLT #2 | 66.22 | 66.23 | 9,264 | 1055 | 0% 0% 100% 0% |
| 18 | Lua #2 | 68.42 | 68.43 | 956 | 993 | 0% 100% 0% 0% |
| 22 | JavaScript V8 | 82.45 | 82.45 | 5,972 | 791 | 100% 0% 0% 0% |
| 26 | Erlang HiPE | 100.05 | 100.04 | 5,808 | 1039 | 0% 0% 0% 100% |
| 52 | JavaScript TraceMonkey #2 | 197.41 | 197.60 | 106,252 | 923 | 1% 0% 23% 76% |
| 62 | Python CPython #2 | 234.29 | 234.32 | 2,852 | 779 | 4% 26% 37% 34% |
| 63 | JavaScript TraceMonkey | 238.75 | 238.85 | 81,908 | 791 | 0% 3% 34% 64% |
| 70 | PHP #3 | 264.03 | 264.16 | 3,396 | 1030 | 0% 0% 100% 1% |
| 78 | Python 3 #2 | 294.57 | 294.60 | 4,004 | 788 | 1% 27% 73% 0% |
| 83 | Mozart/Oz | 5 min | 5 min | 4,360 | 1168 | 17% 39% 17% 29% |
| 90 | Perl #4 | 5 min | 5 min | 2,112 | 934 | 100% 0% 0% 0% |
| 115 | Ruby 1.9 #2 | 7 min | 7 min | 174,280 | 732 | 1% 99% 0% 0% |
| 139 | Ruby JRuby | 8 min | 8 min | 200,928 | 744 | 0% 8% 92% 0% |
| 140 | Perl #2 | 8 min | 8 min | 2,112 | 886 | 18% 33% 0% 50% |
| 167 | Ruby MRI #2 | 10 min | 10 min | 245,868 | 732 | 0% 41% 1% 58% |
| 212 | PHP #2 | 13 min | 13 min | 3,404 | 1007 | 0% 100% 0% 0% |
| Lisaac | Make Error | 1463 | ||||
| interesting alternative programs | ||||||
| 2.3 | OCaml | 8.83 | 8.83 | 732 | 1046 | |
| 2.8 | Haskell GHC #3 | 10.69 | 10.69 | 1,684 | 1406 | |
| 2.9 | OCaml #2 | 10.99 | 11.00 | 728 | 984 | |
| 47 | Ruby MRI #3 | 178.81 | 178.82 | 100,588 | 848 | |
| 72 | Perl | 270.98 | 270.99 | 2,104 | 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.