Issue #6311 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to nobu (Nobuyoshi Nakada)

いいんじゃないかなあと思いましたが、
configure スクリプトいじるので、なかださんどうでしょうか。

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Feature #6311: memmem()によるrb_memsearch()の高速化
https://bugs.ruby-lang.org/issues/6311#change-26010

Author: Glass_saga (Masaki Matsushita)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: 


[Feature #6129][ruby-dev:45344]と類似していますが、memmem()によるre.cのrb_memsearch()の高速化を試みました。

次のベンチマークを実行したところ以下の結果となり、有意な性能向上がみられました。

require 'benchmark'

str = "hoge" * 10000 + "fugafuga"

Benchmark.bm do |x|
  x.report do
    1000.times { str.index("fugafuga") }
  end
end

trunk(r35363):
       user     system      total        real
   0.070000   0.000000   0.070000 (  0.072126)
       user     system      total        real
   0.070000   0.010000   0.080000 (  0.081420)
       user     system      total        real
   0.080000   0.000000   0.080000 (  0.091658)

proposal:
       user     system      total        real
   0.000000   0.000000   0.000000 (  0.004237)
       user     system      total        real
   0.000000   0.000000   0.000000 (  0.003737)
       user     system      total        real
   0.010000   0.000000   0.010000 (  0.004696)

patchを添付します。


-- 
http://bugs.ruby-lang.org/