Hi Yasu, Indeed, String#[] will now perform slower on UTF8 non-ascii strings, because computing the character index cannot be done in constant time anymore.
I don't believe this can be improved using the optimization we implemented for #gsub and #scan. Maybe 1.9.2 has a better optimization, I will let Vincent comment :) Laurent On Jan 16, 2011, at 8:26 AM, Yasu Imao wrote: > Hi, > > I found another String performance issue, which is different from #1077. I > used the same 8092 words English text in UTF-8 used in #1077. > > The latest nightly (2011/01/16) is about 6 times slower than MacRuby 0.8, > which was as fast as 1.9.2. > > I'm just wondering if I should file this for 0.9 or for 'later'. > > > text = File.read("test.txt") > #text = File.read("test.txt").force_encoding("UTF-16BE") > 1000.times do |i| > a = text[i,i+30] > end > > > *Ruby 1.8.7 0.0019 0.0018 0.0017 > Ruby 1.9.2 0.029 0.030 0.029 > MacRuby 0.8 0.028 0.025 0.028 > MacRuby 0.9 2011/01/16 0.18 0.17 0.18 > MacRuby 0.9 2011/01/16 0.0023 0.0029 0.0021 > (force_encoding) > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel