From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Problem in "X (1).Re := X (1).Re + 1"
Date: Wed, 9 May 2012 19:52:12 -0500
Date: 2012-05-09T19:52:12-05:00 [thread overview]
Message-ID: <jof3fv$40m$1@munin.nbi.dk> (raw)
In-Reply-To: 8861140.211.1336552896666.JavaMail.geo-discussion-forums@pbcrz9
"ytomino" <aghia05@gmail.com> wrote in message
news:8861140.211.1336552896666.JavaMail.geo-discussion-forums@pbcrz9...
> On Wednesday, May 9, 2012 7:29:14 AM UTC+9, Randy Brukardt wrote:
>>
>> (Note that a copy-on-write implementation is not a good idea for the
>> standard containers for other reasons as well,
>
>> the main one being that the usual uses don't create many copies,
>
> Really?
> Ada.Containers.Vectors have some "&" operators.
> Many copies may be created when doing X & A & B & C...
Sure, the containers have some operations where this implementation would be
a benefit. But I would guess that those operations would be used very rarely
(if ever), so optimizing for them would be a mistake.
I think this is similar to the usage of the operations in
Ada.Strings.Unbounded. There are many operations defined in that package,
but most code I've seen only uses a handful of those operations. Optimizing
for the other operations is wasted effort.
That's way I said it might make sense to use this implementation in your own
container package, because your usage patterns might be far from typical.
(There cannot be a one-size-really-fits-all implementation.)
Randy.
next prev parent reply other threads:[~2012-05-10 0:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-05 12:55 Problem in "X (1).Re := X (1).Re + 1" ytomino
2012-05-07 15:37 ` Adam Beneschan
2012-05-07 18:53 ` ytomino
2012-05-07 21:28 ` Adam Beneschan
2012-05-08 1:14 ` Randy Brukardt
2012-05-08 17:14 ` Adam Beneschan
2012-05-08 22:29 ` Randy Brukardt
2012-05-09 8:41 ` ytomino
2012-05-10 0:52 ` Randy Brukardt [this message]
2012-05-10 5:23 ` ytomino
2012-05-09 9:29 ` ytomino
2012-05-10 0:58 ` Randy Brukardt
2012-05-10 4:26 ` ytomino
2012-05-15 6:09 ` Randy Brukardt
2012-05-15 20:17 ` ytomino
2012-05-16 0:01 ` Randy Brukardt
2012-05-15 22:12 ` Simon Wright
2012-05-16 7:14 ` Dmitry A. Kazakov
2012-05-09 8:05 ` ytomino
2012-05-09 11:03 ` ytomino
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox