diff options
author | schneems <richard.schneeman@gmail.com> | 2015-06-01 18:13:12 -0500 |
---|---|---|
committer | schneems <richard.schneeman@gmail.com> | 2015-06-01 19:44:40 -0500 |
commit | e1a7260640295642108a364c2cfa56b6868d9947 (patch) | |
tree | 4ed87c1b0fd924b8a53d302c75a03cc751caa7dd /activesupport/test | |
parent | f7c0d133f982e4607c8b78e13fef6edafa7eb590 (diff) | |
download | rails-e1a7260640295642108a364c2cfa56b6868d9947.tar.gz rails-e1a7260640295642108a364c2cfa56b6868d9947.tar.bz2 rails-e1a7260640295642108a364c2cfa56b6868d9947.zip |
Use block variable instead of global
```ruby
require 'benchmark/ips'
Benchmark.ips do |x|
x.report("$&") {
"foo".sub(/f/) { $&.upcase }
}
x.report("block var") {
"foo".sub(/f/) {|match| match.upcase }
}
end
```
```
Calculating -------------------------------------
$& 48.658k i/100ms
block var 49.666k i/100ms
-------------------------------------------------
$& 873.156k (± 9.3%) i/s - 4.331M
block var 969.744k (± 9.2%) i/s - 4.818M
```
It's faster, and gets rid of a few "magic" global variables
Diffstat (limited to 'activesupport/test')
0 files changed, 0 insertions, 0 deletions