I thought so too, but appending to a single string does even worse than reduce(:+):
add 2 0.390000 0.000000 0.390000 ( 0.390529)
+= 2 0.540000 0.000000 0.540000 ( 0.537450)
add 3 0.530000 0.000000 0.530000 ( 0.534131)
+= 3 0.760000 0.000000 0.760000 ( 0.752280)
add 4 0.660000 0.000000 0.660000 ( 0.668154)
+= 4 0.960000 0.000000 0.960000 ( 0.954727)
Code: https://gist.github.com/1562994