#!/usr/bin/ruby

require 'optparse'

def main
  @win_delimiter = false
  @script = nil
  opts = OptionParser.new
  opts.banner = "Usage: #{File.basename($0, '.*')} [--win] [--script=SCRIPT_NAME]"
  opts.on('--win', 'Convert path delimiter for Windows.') {
    @win_delimiter = true
  }
  opts.on('--script', 'Ruby script filename. default: bm3.rb') { |script|
    @script = script || 'bm3.rb'
  }
  opts.on('--help', 'Prints this message and quit.') {
    puts opts.help
    exit 0
  }
  begin
    opts.parse!(ARGV)
  rescue OptionParser::ParseError => err
    $stderr.puts err.message
    exit 1
  end
end

main

require 'rbconfig'

ruby = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
if @win_delimiter
  ruby.tr!('/', '\\')
end

script = ARGV[0] || 'bm.rb'

%w[ 50 100 125 250 500 1000 5000 10000 ].each do |runs|
  puts "#{ruby} #{script} #{runs} >> out.txt"
end

