diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-14 15:09:35 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-14 15:09:35 +0000 |
commit | 1a74fa4b04da04bd2bb33103dd3cf431438df38e (patch) | |
tree | f4a1d6c2961339e0c1d653c0f8427a53315080f0 /ruby_2_2/benchmark/report.rb | |
parent | a5b755e50e2d9aabf28ba24bf58644ca22b01a4f (diff) |
add tag v2_2_9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v2_2_9@61257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_2_2/benchmark/report.rb')
-rw-r--r-- | ruby_2_2/benchmark/report.rb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/ruby_2_2/benchmark/report.rb b/ruby_2_2/benchmark/report.rb new file mode 100644 index 0000000000..d2dc56b1e1 --- /dev/null +++ b/ruby_2_2/benchmark/report.rb @@ -0,0 +1,79 @@ +# +# YARV benchmark driver +# + +require 'yarvutil' +require 'benchmark' +require 'rbconfig' + +def exec_command type, file, w + <<-EOP + $DRIVER_PATH = '#{File.dirname($0)}' + $LOAD_PATH.replace $LOAD_PATH | #{$LOAD_PATH.inspect} + require 'benchmark' + require 'yarvutil' +# print '#{type}' + begin + puts Benchmark.measure{ + #{w}('#{file}') + }.utime + rescue Exception => exec_command_error_variable + puts "\t" + exec_command_error_variable.message + end + EOP +end + +def benchmark cmd + rubybin = ENV['RUBY'] || RbConfig.ruby + + IO.popen(rubybin, 'r+'){|io| + io.write cmd + io.close_write + return io.gets + } +end + +def ruby_exec file + prog = exec_command 'ruby', file, 'load' + benchmark prog +end + +def yarv_exec file + prog = exec_command 'yarv', file, 'YARVUtil.load_bm' + benchmark prog +end + +$wr = $wy = nil + +def measure bench + file = File.dirname($0) + "/bm_#{bench}.rb" + r = ruby_exec(file).to_f + y = yarv_exec(file).to_f + puts "#{bench}\t#{r}\t#{y}" +end + +def measure2 + r = ruby_exec.to_f + y = yarv_exec.to_f + puts r/y +end + +if $0 == __FILE__ + %w{ + whileloop + whileloop2 + times + const + method + poly_method + block + rescue + rescue2 + }.each{|bench| + measure bench + } +end + + + + |