Sha256: 9b22ee411fd3b8a88e0121f70f2cc4db2daf44c116d7f07f50f6cc3a2e4de420

Contents?: true

Size: 948 Bytes

Versions: 76

Compression:

Stored size: 948 Bytes

Contents

require 'benchmark'
require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')

TIMES = (ARGV[0] || 10_000).to_i

def bench_builtins(name)
  YARD::CodeObjects::BUILTIN_EXCEPTIONS_HASH.has_key? name
end

def bench_eval(name)
  eval(name).is_a?(Class)
rescue
  false
end

Benchmark.bmbm do |b|
  b.report("builtins PASS") { TIMES.times {YARD::CodeObjects::BUILTIN_EXCEPTIONS.each {|y| bench_builtins(y) } } }
  b.report("eval PASS") { TIMES.times {YARD::CodeObjects::BUILTIN_EXCEPTIONS.each {|y| bench_eval(y) }} }
  b.report("builtins FAIL") { TIMES.times {YARD::CodeObjects::BUILTIN_MODULES.each {|y| bench_builtins(y) } } }
  b.report("eval FAIL") { TIMES.times {YARD::CodeObjects::BUILTIN_MODULES.each {|y| bench_eval(y) }} }
  b.report("builtins ANY") { TIMES.times {YARD::CodeObjects::BUILTIN_CLASSES.each {|y| bench_builtins(y) } } }
  b.report("eval ANY") { TIMES.times {YARD::CodeObjects::BUILTIN_CLASSES.each {|y| bench_eval(y) }} }
end

Version data entries

76 entries across 59 versions & 8 rubygems

Version Path
abaci-0.3.0 vendor/bundle/gems/yard-0.9.1/benchmarks/builtins_vs_eval.rb
abaci-0.3.0 vendor/bundle/gems/yard-0.9.2/benchmarks/builtins_vs_eval.rb
yard-0.9.5 benchmarks/builtins_vs_eval.rb
yard-0.9.4 benchmarks/builtins_vs_eval.rb
yard-0.9.3 benchmarks/builtins_vs_eval.rb
yard-0.9.2 benchmarks/builtins_vs_eval.rb
yard-0.9.1 benchmarks/builtins_vs_eval.rb
yard-0.9.0 benchmarks/builtins_vs_eval.rb
yard-0.8.7.6 benchmarks/builtins_vs_eval.rb
yard-0.8.7.5 benchmarks/builtins_vs_eval.rb
climine-0.0.7 vendor/bundle/ruby/2.1.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
climine-0.0.7 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
climine-0.0.6 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
climine-0.0.5 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
yard-0.8.7.4 benchmarks/builtins_vs_eval.rb
climine-0.0.4 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
climine-0.0.3 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
mango-0.8.0 vendor/bundler/ruby/2.1.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
mango-0.7.1 vendor/bundler/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb
mango-0.7.0 vendor/bundler/ruby/2.0.0/gems/yard-0.8.7.3/benchmarks/builtins_vs_eval.rb