前田です。
ruby-devにふります。

At Sun, 13 May 2001 19:04:17 +0900,
Tanaka Akira <akr / m17n.org> wrote:
> 最近、Array 中にある大量の String を join する機会があったのですが、や
> けに遅いことに気がつきました。
(snip)
> という関数を作って線形に押えることには成功したのですが、なにかもっとう
> まい方法はないものでしょうか?

たぶん、rubyのArray#joinの実装を改善するのが一番まっとうなんじゃ
ないかと思います(^_^;

現状のrubyの実装では、色々なところで、

str = ""
何らかのループ do
  str.concat(s)
end

のようなコード(のC版)が使われているのですが、これだと毎回
realloc()が呼ばれることになります。

Rubyレベルで見せるかどうかは別として、JavaのStringBufferのような
クラスを用意して、それを利用するようにした方がよいのではないでしょ
うか。

-- 
前田 修吾