Rubyにおける文字列の連結に関してどの方法で処理した方がコストが小さいかを調べてみます。PerlやJavaでの経験上ある程度の予測は付きますが。 テスト1: "+"による連結 buf = '' for i in 1..100000 buf += 'abc' end テスト2: "<<"(concat)による連結 buf = '' for i in 1..100000 buf << 'abc' end テスト3: 配列のjoin arr = [] for i in 1..100000 arr.push('abc') end buf = arr.join() 結果 テスト1 +による連結 29.462s テスト2 concatによる連結 0.138s テスト3 配列のjoin 0.150s テスト1が異常なほど時間がかかっているのは、Stringオブジェクトの生成コストのためであるのは明らか