summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorKouhei Sutou <[email protected]>2016-07-27 13:58:07 +0900
committerKouhei Sutou <[email protected]>2016-07-27 13:58:07 +0900
commit6bb0775d7603d020e64fb68fbc78e184745e8b0d (patch)
tree6bc46c3b2c8692bb8b0d0761bcc5c2080cbe3bac /include
parent3757b16dab96c687429a9cec7c2b498218ef0e27 (diff)
downloadmruby-6bb0775d7603d020e64fb68fbc78e184745e8b0d.tar.gz
mruby-6bb0775d7603d020e64fb68fbc78e184745e8b0d.zip
Reduce needless Array generation in some String methods
Here are some benchmarks: each_char: # /tmp/each_char.rb a = "a" * 1000000 a.each_char do |x| end Without this change: % time bin/mruby /tmp/each_char.rb bin/mruby /tmp/each_char.rb 1.07s user 0.02s system 99% cpu 1.088 total With this change: % time bin/mruby /tmp/each_char.rb bin/mruby /tmp/each_char.rb 0.52s user 0.01s system 99% cpu 0.530 total 2 times faster with this change. codepoints: # /tmp/codepoints.rb a = "a" * 1000000 a.codepoints do |x| end Without this change: % time bin/mruby /tmp/codepoints.rb bin/mruby /tmp/codepoints.rb 1.16s user 0.05s system 99% cpu 1.216 total With this change: % time bin/mruby /tmp/codepoints.rb bin/mruby /tmp/codepoints.rb 0.56s user 0.02s system 99% cpu 0.589 total
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions