From: Simon Wright <simon.j.wright@mac.com>
Subject: Re: Reserve_Capacity for Unbounded_String?
Date: Wed, 25 Jul 2007 07:07:07 +0100
Date: 2007-07-25T07:07:07+01:00 [thread overview]
Message-ID: <m28x95hv90.fsf@mac.com> (raw)
In-Reply-To: wcctzrtrzhz.fsf@shell01.TheWorld.com
Robert A Duff <bobduff@shell01.TheWorld.com> writes:
> It's the copy I'm wondering about, not the new and free so much.
> To append N characters to an unb string requires quadratic copying
> (copying a char N**2 / 2 times).
>
> If you double the allocation every time, it's amortized linear.
> Yes, you waste some space that way.
I made a limited Unbounded_String type (with an Append operation) that
works this way when faced with a similar problem (I am stuck on a
rather old GNAT which allocates every time). 30% performance
improvement overall, as I recall.
next prev parent reply other threads:[~2007-07-25 6:07 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-22 19:54 Reserve_Capacity for Unbounded_String? Maciej Sobczak
2007-07-22 21:32 ` Robert A Duff
2007-07-23 19:29 ` Maciej Sobczak
2007-07-23 20:30 ` Robert A Duff
2007-07-23 4:28 ` Jeffrey R. Carter
2007-07-23 15:07 ` Adam Beneschan
2007-07-24 1:01 ` Randy Brukardt
2007-07-24 7:57 ` Pascal Obry
2007-07-24 18:58 ` Randy Brukardt
2007-07-24 23:50 ` Robert A Duff
2007-07-25 0:00 ` Randy Brukardt
2007-07-24 23:54 ` Pascal Obry
2007-07-25 0:52 ` Randy Brukardt
2007-07-25 1:28 ` Randy Brukardt
2007-07-25 7:48 ` Pascal Obry
2007-07-25 9:55 ` Georg Bauhaus
2007-07-25 10:02 ` Georg Bauhaus
2007-07-25 18:58 ` Randy Brukardt
2007-07-25 8:50 ` Martin Krischik
2007-07-25 9:26 ` AW: " Grein, Christoph (Fa. ESG)
2007-07-25 15:32 ` Martin Krischik
2007-07-25 15:39 ` Martin Krischik
2007-07-24 23:41 ` Robert A Duff
2007-07-25 0:16 ` Randy Brukardt
2007-07-25 2:25 ` Robert A Duff
2007-07-25 6:07 ` Simon Wright [this message]
2007-07-25 19:08 ` Randy Brukardt
2007-07-25 20:37 ` Maciej Sobczak
2007-07-25 22:06 ` Georg Bauhaus
2007-07-26 6:24 ` Maciej Sobczak
2007-07-26 8:09 ` Dmitry A. Kazakov
2007-07-26 8:20 ` Pascal Obry
2007-07-26 9:59 ` Dmitry A. Kazakov
2007-07-26 8:35 ` Georg Bauhaus
2007-07-26 22:11 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox