mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
3a47cf3395
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
66 lines
767 B
Ruby
66 lines
767 B
Ruby
|
|
Bench = %w(
|
|
loop
|
|
ack
|
|
fib
|
|
tak
|
|
fact
|
|
)
|
|
|
|
Lang = <<EOP.map{|l| l.strip}
|
|
ruby-cyg
|
|
../../../test6/miniruby
|
|
perl
|
|
python
|
|
gosh
|
|
EOP
|
|
|
|
Bench.replace ['loop2']
|
|
Lang.replace ['ruby-cyg']
|
|
|
|
Ext = %w(
|
|
.rb
|
|
.rb
|
|
.pl
|
|
.py
|
|
.scm
|
|
)
|
|
|
|
p Bench
|
|
p Lang
|
|
|
|
require 'benchmark'
|
|
|
|
def bench cmd
|
|
m = Benchmark.measure{
|
|
#p cmd
|
|
system(cmd)
|
|
}
|
|
[m.utime, m.real]
|
|
end
|
|
|
|
Result = []
|
|
Bench.each{|b|
|
|
r = []
|
|
Lang.each_with_index{|l, idx|
|
|
cmd = "#{l} #{b}#{Ext[idx]}"
|
|
r << bench(cmd)
|
|
}
|
|
Result << r
|
|
}
|
|
|
|
require 'pp'
|
|
# utime
|
|
puts Lang.join("\t")
|
|
Bench.each_with_index{|b, bi|
|
|
print b, "\t"
|
|
puts Result[bi].map{|e| e[0]}.join("\t")
|
|
}
|
|
|
|
# rtime
|
|
puts Lang.join("\t")
|
|
Bench.each_with_index{|b, bi|
|
|
print b, "\t"
|
|
puts Result[bi].map{|e| e[1]}.join("\t")
|
|
}
|
|
|