r18455 reverted.
[ruby-svn.git] / benchmark / other-lang / eval.rb
blob387592738900d5f6e6c12514380e7daf722f2c0c
2 Bench = %w(
3   loop
4   ack
5   fib
6   tak
7   fact
10 Lang = <<EOP.map{|l| l.strip}
11   ruby-cyg
12   ../../../test6/miniruby
13   perl
14   python
15   gosh
16 EOP
18 Bench.replace ['loop2']
19 Lang.replace ['ruby-cyg']
21 Ext = %w(
22   .rb
23   .rb
24   .pl
25   .py
26   .scm
29 p Bench
30 p Lang
32 require 'benchmark'
34 def bench cmd
35   m = Benchmark.measure{
36     #p cmd
37     system(cmd)
38   }
39   [m.utime, m.real]
40 end
42 Result = []
43 Bench.each{|b|
44   r = []
45   Lang.each_with_index{|l, idx|
46     cmd = "#{l} #{b}#{Ext[idx]}"
47     r << bench(cmd)
48   }
49   Result << r
52 require 'pp'
53 # utime
54 puts Lang.join("\t")  
55 Bench.each_with_index{|b, bi|
56   print b, "\t"
57   puts Result[bi].map{|e| e[0]}.join("\t")
60 # rtime
61 puts Lang.join("\t")  
62 Bench.each_with_index{|b, bi|
63   print b, "\t"
64   puts Result[bi].map{|e| e[1]}.join("\t")