Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Benchmark.ips do |x|
- x.report("attr_reader") do
- class Foo
- def initialize(bar)
- @bar = bar
- end
- def baz
- bar.length
- end
- private
- attr_reader :bar
- end
- Foo.new("asdf").baz
- end
- x.report("ivar") do
- class Foo2
- def initialize(bar)
- @bar = bar
- end
- def baz
- @bar.length
- end
- end
- Foo2.new("asdf").baz
- end
- x.compare!
- end
- #=>Calculating -------------------------------------
- # attr_reader 1.901k i/100ms
- # ivar 2.060k i/100ms
- #-------------------------------------------------
- # attr_reader 262.574k (±23.5%) i/s - 851.648k
- # ivar 404.494k (±24.4%) i/s - 1.234M
- #
- #Comparison:
- # ivar: 404494.5 i/s
- # attr_reader: 262574.3 i/s - 1.54x slower
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement