Sha256: 0bb18ce3f9edbf18fdc2ed1a393250ee8d2b589cd32123f5fe8465bdae1a6565

Contents?: true

Size: 709 Bytes

Versions: 1

Compression:

Stored size: 709 Bytes

Contents

#!/usr/bin/env ruby

require 'bundler/setup'
require 'benchmark/ips'
require 'optparse'
require 'llrb'

preview = false
opt = OptionParser.new
opt.on('-p') { preview = true }
opt.parse!(ARGV)

ruby = Class.new
def ruby.script
  1
end

llrb = Class.new
def llrb.script
  1
end
LLRB::JIT.preview(llrb, :script) and return if preview

started_at = Process.clock_gettime(Process::CLOCK_MONOTONIC, :float_microsecond)
LLRB::JIT.compile(llrb, :script)
finished_at = Process.clock_gettime(Process::CLOCK_MONOTONIC, :float_microsecond)
puts "Compile Time: #{ "%.2fms" % ((finished_at - started_at) / 1000)}"

Benchmark.ips do |x|
  x.report('Ruby') { ruby.script }
  x.report('LLRB') { llrb.script }
  x.compare!
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
llrb-0.0.1 bin/bm_empty_method