Advertisement
Guest User

Untitled

a guest
May 25th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. Benchmark.ips do |x|
  2. x.report("attr_reader") do
  3. class Foo
  4. def initialize(bar)
  5. @bar = bar
  6. end
  7.  
  8. def baz
  9. bar.length
  10. end
  11.  
  12. private
  13.  
  14. attr_reader :bar
  15. end
  16.  
  17. Foo.new("asdf").baz
  18. end
  19.  
  20. x.report("ivar") do
  21. class Foo2
  22. def initialize(bar)
  23. @bar = bar
  24. end
  25.  
  26. def baz
  27. @bar.length
  28. end
  29. end
  30.  
  31. Foo2.new("asdf").baz
  32. end
  33.  
  34. x.compare!
  35. end
  36.  
  37. #=>Calculating -------------------------------------
  38. # attr_reader 1.901k i/100ms
  39. # ivar 2.060k i/100ms
  40. #-------------------------------------------------
  41. # attr_reader 262.574k (±23.5%) i/s - 851.648k
  42. # ivar 404.494k (±24.4%) i/s - 1.234M
  43. #
  44. #Comparison:
  45. # ivar: 404494.5 i/s
  46. # attr_reader: 262574.3 i/s - 1.54x slower
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement