From: "NARUSE, Yui" Date: 2008-09-15T13:51:14+09:00 Subject: [ruby-dev:36303] Re: [patch] performance improvement patch for benchmark/bm_so_count_words.rb 成瀬です。 masayoshi takahashi wrote: > 高橋征義です。 > > 1.9でbenchmarkを走らせたところ、bm_so_count_wordsの結果がひどかった > (1.8のときより30倍くらい遅くなる)ので、パッチを書いてみました。 > 基本的にはsinglebyteの時にエンコーディングを気にせず、1.8の時の > コードのように処理させるものです。これでも1.8の2倍程度の時間は > かかってしまうようですが(Mac OS X 10.5.4)。 > > あと、single_byte_optimizable(str) に、rb_enc_str_asciionly_p(str) を > 加えてしまってもいいのでしょうか? 一般に加えてしまってよいのか > よく分からなかったので、このpatchでは、 > if (single_byte_optimizable(str) || rb_enc_str_asciionly_p(str)) { > などという形で判別するようにしています。 > > singlebyteの時だけ早くなってどーする、と意見もあるかと > 思いますが、ないよりはマシかと思うので、よろしくお願いします。 [ruby-core:18532] に同趣旨のものを含むパッチがありますね。 どの程度かぶってるかまではまだ見ていませんがとりいそぎ。 -- NARUSE, Yui