7 File.join(Config::CONFIG["bindir"],
8 Config::CONFIG["ruby_install_name"] + Config::CONFIG["EXEEXT"])
12 opt-direct-threaded-code
14 opt-operands-unification
15 opt-instructions-unification
16 opt-inline-method-cache
23 Configs = OPTIONS.map{|opt|
45 Configs.each_with_index{|config, idx|
47 FileUtils.rm_rf(dir) if FileTest.exist?(dir)
50 exec_cmd("#{Ruby} ../extconf.rb " + config.join(" "))
51 exec_cmd("make clean test-all")
57 Configs.each_with_index{|c, idx|
59 system("#{Ruby} -r ev-#{idx}/yarvcore -e 'puts YARVCore::OPTS'")
67 FileUtils.cd(dirname(idx)){
68 exec_cmd("make benchmark OPT=-y ITEMS=#{ENV['ITEMS']} > ../b#{idx}-#{count}")
75 # return bench_each(6)
76 Configs.each_with_index{|c, idx|
86 if /(\w+)\t([\d\.]+)/ =~ line
93 if /benchmark summary/ =~ line
102 data.pop # remove max
103 data.shift # remove min
105 data.inject(0.0){|res, e|
112 stats[0].each_with_index{|e, idx|
114 vals = stats.map{|st|
117 [bm, calc_each(vals)]
123 Configs.each_with_index{|c, idx|
126 file = "b#{idx}-#{count}"
129 stats << parse_result(f.read)
133 total << calc_stat(stats)
137 total[0].each_with_index{|e, idx|
141 print st[idx][1], "\t"