# Fancy benchmark... | |
# is respond_to? so faster than include? | |
require 'benchmark' | |
n = 10_000_000 | |
mock_methods = ('a'..'z').to_a | |
class Mock | |
end | |
mock_methods.each do |m| | |
Mock.class_eval do | |
send(:attr_accessor, m) | |
end | |
end | |
mock = Mock.new | |
instance_meths = Mock.instance_methods(false) | |
Benchmark.bm(15) do |test| | |
test.report('respond_to?: ') do | |
n.times do | |
mock.respond_to? :k | |
end | |
end | |
test.report('include?: ') do | |
n.times do | |
instance_meths.include? :k | |
end | |
end | |
test.report('instance_methods.include?: ') do | |
n.times do | |
Mock.instance_methods(false).include? :k | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment