/mobile Handheld Friendly website
x64 Ubuntu : Intel® Q6600® one core |
Each table row shows performance measurements for this Ruby 2.0 program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 50,000 | 0.36 | 0.41 | 50,976 | 501 | 0% 0% 5% 100% |
| 500,000 | 3.15 | 3.22 | 36,628 | 501 | 0% 0% 0% 100% |
| 5,000,000 | 30.69 | 30.72 | 339,524 | 501 | 0% 0% 0% 100% |
Read the ↓ make, command line, and program output logs to see how this program was run.
Read regex-dna benchmark to see what this program should do.
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
# The Computer Language Benchmarks Game # http://benchmarksgame.alioth.debian.org # # contributed by jose fco. gonzalez # optimized & parallelized by Rick Branson seq = STDIN.readlines.join ilen = seq.size seq.gsub!(/>.*\n|\n/,"") clen = seq.length MATCHERS = [ /agggtaaa|tttaccct/, /[cgt]gggtaaa|tttaccc[acg]/, /a[act]ggtaaa|tttacc[agt]t/, /ag[act]gtaaa|tttac[agt]ct/, /agg[act]taaa|ttta[agt]cct/, /aggg[acg]aaa|ttt[cgt]ccct/, /agggt[cgt]aa|tt[acg]accct/, /agggta[cgt]a|t[acg]taccct/, /agggtaa[cgt]|[acg]ttaccct/ ] if RUBY_PLATFORM == "java" threads = MATCHERS.map do |f| Thread.new do Thread.current[:result] = "#{f.source} #{seq.scan(f).size}" end end threads.each do |t| t.join end threads.each do |t| puts t[:result] end else children = MATCHERS.map do |f| r, w = IO.pipe p = Process.fork do r.close w.write "#{f.source} #{seq.scan(f).size}" w.close end w.close [p, r, w] end children.each do |p, r, w| puts r.read r.close end Process.waitall end { 'B' => '(c|g|t)', 'D' => '(a|g|t)', 'H' => '(a|c|t)', 'K' => '(g|t)', 'M' => '(a|c)', 'N' => '(a|c|g|t)', 'R' => '(a|g)', 'S' => '(c|t)', 'V' => '(a|c|g)', 'W' => '(a|t)', 'Y' => '(c|t)' }.each { |f,r| seq.gsub!(f,r) } puts puts ilen puts clen puts seq.length
Mon, 25 Feb 2013 10:59:32 GMT COMMAND LINE: /usr/local/src/ruby-2.0.0-p0/ruby regexdna.yarv-3.yarv 0 < regexdna-input5000000.txt PROGRAM OUTPUT: agggtaaa|tttaccct 356 [cgt]gggtaaa|tttaccc[acg] 1250 a[act]ggtaaa|tttacc[agt]t 4252 ag[act]gtaaa|tttac[agt]ct 2894 agg[act]taaa|ttta[agt]cct 5435 aggg[acg]aaa|ttt[cgt]ccct 1537 agggt[cgt]aa|tt[acg]accct 1431 agggta[cgt]a|t[acg]taccct 1608 agggtaa[cgt]|[acg]ttaccct 2178 50833411 50000000 66800214