str = 'efgh'
str2 = 'abcd'
str = str + str2

より

str = 'efgh'
str2 = 'abcd'
str << str2

のほうが遅いのですが、どうしてでしょうか??

ruby 1.6.7 (2002-03-01) [i586-mswin32]
です。