railsのcommitに use tr instead of gsub when possible · 56d26d1 · rails/rails というのがありました。
そういえば私もtrあんまり使わずにgsubで書いている気がします。
どんぐらい早いかbenchmarkをとってみると
require 'benchmark/ips' str = 'aaaaa_aaa' Benchmark.ips do |x| x.report('gsub') do str.gsub('_', '') end x.report('tr') do str.tr('_', '') end end
Calculating ------------------------------------- gsub 30745 i/100ms tr 73252 i/100ms ------------------------------------------------- gsub 388529.0 (±13.0%) i/s - 1936935 in 5.112875s tr 1449224.1 (±12.3%) i/s - 7105444 in 5.023733s
差は歴然でした。
参考
・use tr instead of gsub when possible · 56d26d1 · rails/rails
・rails commit log流し読み(2014/10/01) - なるようになるブログ