Thanks a lot! I applied the patch in 4167 (along with some minor improvement). -- Thibault Martin-Lagardette On May 26, 2010, at 14:39, Jordan Breeding wrote:
Currently ERROR is not thrown out of the results before they are tested to see which is best, this means that ERROR is actually considered the winner after running .to_f on it.
My current patch probably doesn't handle the case of each of the rubies being tested all having ERROR, but it does work if at least one real value was returned. This patch also changes it so that if you are testing a large number of ruby installations (4 or more) on a wide terminal window the "----" underline will cover all of the names instead of stopping at 80 characters.
diff --git a/perf/run.rb b/perf/run.rb index 14af044..7279136 100644 --- a/perf/run.rb +++ b/perf/run.rb @@ -31,9 +31,10 @@ end
rubies_names = rubies.map { |x| `#{x} -v`.scan(/^\w+\s+[^\s]+/)[0] }
-print 'Name'.ljust(20) -rubies_names.each { |x| print x.ljust(20) } -puts '', '-' * 80 +header_string = 'Name'.ljust(20) +rubies_names.each { |x| header_string += x.ljust(20) } +print header_string +puts '', '-' * header_string.length
booter = File.join(cwd, 'boot.rb') perf_files.each do |file, suite| @@ -53,7 +54,7 @@ perf_files.each do |file, suite| print "#{prefix}:#{title}".ljust(20) winner = nil if res.size > 1 - winner = res.sort { |a, b| a[:best].to_f <=> b[:best].to_f }.first[:best] + winner = res.reject { |a| a[:best] == 'ERROR' }.sort { |a, b| a[:best].to_f <=> b[:best].to_f }.first[:best] end res.each do |rb| best = rb[:best]_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel