def hello(foo: nil, bar: nil)
end
10_000.times { hello(foo: 1, bar: 2) }
# Runtime => 10.354 ms
def hello(options = {})
foo, bar = options[:foo], options[:bar]
end
10_000.times { hello(foo: 1, bar: 2) }
# Runtime => 5.064 ms
```ruby
class Foo
def initialize(val)
@val = val
end
attr_reader :val
end
object = Foo.new("bar")
100_000.times { object.val }
# Runtime => 6.966 ms
(1..100_000).to_a.shuffle!
# Runtime => 6.968 ms
(1..100_000).to_a.sort_by { rand }
# Runtime => 94.396 ms
100_000.times do |n|
# Do something
end
# Runtime: 4.395 ms
n = 0
while n < 100_000
# Do something
n += 1
end
# Runtime: 1.878 ms
def hello(&block)
block.call
end
100_000.times do
hello { "world" }
end
# Runtime: 72.739 ms
def hello
yield
end
100_000.times do
hello { "world" }
end
# Runtime: 18.987 ms