Hispeed String concat

I’ll add string concatenation to the next benchmarksuite. :slight_smile:

Regards,

Dan

···

-----Original Message-----
From: Robert Feldt [mailto:feldt@ce.chalmers.se]
Sent: Friday, June 13, 2003 10:14 AM
To: ruby-talk@ruby-lang.org
Subject: Re: Hispeed String concat

On Fri, 13 Jun 2003, Dave Thomas wrote:

I don’t believe there’s a single fastest way.

Often ‘<<’ is fast, but not always.

In one application, where I was generating a CVS file from a largish
SQL result set, I made the program over 100 times faster by changing

result = ""
for r in results
   csv_string = to_csv(r)
   result << csv_string
end

to

result = []
for r in results
   csv_string = to_csv(r)
   result << csv_string
end
result = result.join

For “Ruby Developer’s Guide” I did some measurements on this and join was
often significantly faster when there are many strings to concat. Also “<<”
was somewhat but not much faster than “+=” (for many strings, for fewer
string “+=” was sometimes faster). Performance measurement is hairy business
though and its hard to generalise… :wink:

Regards,

Robert Feldt

I missed that one. RAA?

How do you measure? There are many ways to measure the wrong thing… :wink:

Regards,

Robert

···

On Sat, 14 Jun 2003, Berger, Daniel wrote:

I’ll add string concatenation to the next benchmarksuite. :slight_smile: