青山です。

jcode.rb にある String#each_char って、each_byte よりも使いでがありそ
うですが、標準で入れてしまってはどうでしょうか? $KCODE 依存という問題
はありますが、それは明記しておくという事で済みそうですし。

もっとも、scan(/./m) で済む事ではあるので、まあ、each_byte があるのな
ら、と、その程度ですが。

(1文字分割に関しては split よりも scan の方が高速なんですね...
これ、将来的に逆転する可能性もあるのでしょうか?

$ time ruby -e's="a"*100000; s.split(//)'
real    0m2.300s    user    0m2.250s    sys     0m0.050s

$ time ruby -e's="a"*100000; s.split("")'
real    0m2.225s    user    0m2.130s    sys     0m0.100s

$ time ruby -e's="a"*100000; s.scan(/(?:.|\n)/)'
real    0m1.775s    user    0m1.710s    sys     0m0.050s


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>