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