File: bench_parser.rb

package info (click to toggle)
jruby 1.5.1-1%2Bdeb6u1
  • links: PTS, VCS
  • area: non-free
  • in suites: squeeze-lts
  • size: 47,024 kB
  • ctags: 74,144
  • sloc: ruby: 398,155; java: 169,506; yacc: 3,782; xml: 2,469; ansic: 415; sh: 279; makefile: 78; tcl: 40
file content (25 lines) | stat: -rw-r--r-- 580 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require 'java'
require 'jruby'
require 'benchmark'
require 'rbconfig'

# benchmark 100 parses of the RDoc rb parser
ITER_COUNT = 25
filename = Config::CONFIG['rubylibdir'] + "/rdoc/parsers/parse_rb.rb"
src = File.read(filename)

puts "file: " + filename
puts "size: " + src.size.to_s

fulltime = 0

(ARGV[0] || 5).to_i.times do 
  parsetime = Benchmark.measure { ITER_COUNT.times { |i| JRuby.parse(src, "parse_rb.rb") } }.real
  
  puts "time: " + parsetime.to_s
  fulltime += parsetime
end

puts "full time: " + fulltime.to_s
puts "average: " + (fulltime / (ITER_COUNT*5)).to_s