comp.lang.ada
 help / color / mirror / Atom feed
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. 





  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