Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #8116
| Date | 2011-09-17 22:44 -0700 |
|---|---|
| From | Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: StringBuilder |
| References | <96f358c8-a024-40db-b60b-300186c2f813@o10g2000vby.googlegroups.com> <j41fik$3qb$1@news.albasani.net> <j52jgd$iij$1@dont-email.me> <vp7a77lp3e5oe4h79pnmv95vb4lu13spmc@4ax.com> |
| Message-ID | <GeednbWNqODBGOjTnZ2dnUVZ_rqdnZ2d@posted.palinacquisition> (permalink) |
On 9/17/11 3:34 PM, Roedy Green wrote: > [...] > StringBuilder composes its string in a char[]. Unfortunately it can't > simply plop that into a String object at the end. It has to allocate > yet another buffer, copy into it, and that becomes your string object. [...] Are you sure that's the implementation? In .NET, there is also a String and StringBuilder class pair, and StringBuilder.ToString() does in fact just create a new String instance using the existing buffer. It flags itself that it did so, and of course then it does have to allocate a new buffer if you mutate the StringBuilder instance later. But the most common scenario is to mutate the StringBuilder, then get the String instance just once, discarding the StringBuilder immediately after. I don't really care that much so I'm not going to waste time checking myself. But if anyone does think it's something to worry about, they should at least check the actual implementation to make sure it really does what they think it does. In any case, if Java does _not_ implement it that way, I suspect that's out of a different decision-making process rather than ignorance. In other words, they have already considered whether it's a worthwhile optimization and decided otherwise. Which strongly suggests that anyone worrying a priori about the performance of StringBuilder before they have demonstrated it's an actual bottleneck in their program is wasting their time. Pete
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
Re: StringBuilder Stanimir Stamenkov <s7an10@netscape.net> - 2011-09-17 19:56 +0300
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-17 20:35 +0200
Re: StringBuilder Roedy Green <see_website@mindprod.com.invalid> - 2011-09-17 15:34 -0700
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 01:33 +0200
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 01:56 +0200
Re: StringBuilder Roedy Green <see_website@mindprod.com.invalid> - 2011-09-17 20:58 -0700
Re: StringBuilder Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-09-17 22:44 -0700
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 09:54 +0200
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 09:59 +0200
Re: StringBuilder Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-09-18 07:28 -0700
Re: StringBuilder Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-09-18 08:15 -0400
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 15:32 +0200
Re: StringBuilder Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-09-18 09:50 -0400
Re: StringBuilder Stanimir Stamenkov <s7an10@netscape.net> - 2011-09-18 17:08 +0300
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 22:13 +0200
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 22:29 +0200
Re: StringBuilder Jan Burse <janburse@fastmail.fm> - 2011-09-18 22:39 +0200
Re: StringBuilder Roedy Green <see_website@mindprod.com.invalid> - 2011-09-19 09:45 -0700
csiph-web