>>201-207
そもそもの発端である>>135では
> a = ['f2f', 'f10f', 'f1f', 'f0f', 'f3f']
> sa = a.sort{|a,b| a[/¥d+/].to_i <=> b[/¥d+/].to_i }
と書いてあるから、これにそってベンチすべきじゃね?

require 'benchmark'
data = (1..10000).collect { "f#{rand(10000)}f" }
Benchmark.bm(10) do |bench|
  bench.report("sort_by") { data.sort_by {|a| a[/¥d+/].to_i } }
  bench.report("sort") { data.sort {|a,b| a[/¥d+/].to_i <=> b[/¥d+/].to_i } }
  bench.report("sort!") { data.sort! {|a,b| a[/¥d+/].to_i <=> b[/¥d+/].to_i } }
end


結果:
                user     system      total        real
sort_by     0.090000   0.000000   0.090000 (  0.118594)
sort        1.030000   0.010000   1.040000 (  1.154424)
sort!       1.030000   0.020000   1.050000 (  1.348342)

もう明らかにsort_byが速い。sortとsort!の差は誤差。しかもsort!のほうが悪い数値。

>>208
今回がまさにそのケースだな

>>200
これはひどい