comp.lang.ada
 help / color / mirror / Atom feed
From: Gene <gene.ressler@gmail.com>
Subject: Re: Sharing generic bodies across instantiations.
Date: Mon, 26 Jul 2010 20:01:24 -0700 (PDT)
Date: 2010-07-26T20:01:24-07:00	[thread overview]
Message-ID: <ca19efd5-9018-40c5-9aaf-fc8b4b542edb@t11g2000vbj.googlegroups.com> (raw)
In-Reply-To: 4c4e2d69$0$2378$4d3efbfe@news.sover.net

On Jul 26, 8:51 pm, "Peter C. Chapin" <pcc482...@gmail.com> wrote:
> It has been my understanding that Ada's generics are designed in such a
> way as to allow implementations to share the code of a generic body
> across all the instantiations. I understand that doing this might
> involve a performance penalty relative to creating independent code for
> each instantiation. However, I can see that there are cases where such
> sharing would be desirable.
>
> Is my understanding still accurate (was it ever accurate), for example
> even with Ada 2005?
>
> Thanks!
>
> Peter

I don't believe this is true.  Early compilers replicated code for
each instantiation even when they might have been able to share. But
I've read that the compiler is free to choose to generate
parameterized code that's highly sharable.  Yes, in that case the
implementation will generate smaller but likely to be slower code.

You may be thinking of java templates, which explicitly require that
code is shared among all instances.  This is much easier in Java due
to the reference semantics.



  reply	other threads:[~2010-07-27  3:01 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-27  0:51 Sharing generic bodies across instantiations Peter C. Chapin
2010-07-27  3:01 ` Gene [this message]
2010-07-27  6:55 ` AdaMagica
2010-07-27 11:29   ` Ludovic Brenta
2010-07-27 14:10     ` Tero Koskinen
2010-07-27 10:51 ` Martin
2010-07-27 20:06 ` anon
2010-07-27 22:23   ` Peter C. Chapin
2010-07-28  7:59     ` Maciej Sobczak
2010-07-28  9:28       ` Dmitry A. Kazakov
2010-07-28 12:55         ` Maciej Sobczak
2010-07-28 13:16           ` Dmitry A. Kazakov
2010-07-28 19:48             ` Maciej Sobczak
2010-07-29  8:03               ` Dmitry A. Kazakov
2010-07-29 14:02                 ` Maciej Sobczak
2010-07-29 14:40                   ` Dmitry A. Kazakov
2010-07-29 20:27                     ` Maciej Sobczak
2010-07-30  9:09                       ` Dmitry A. Kazakov
2010-07-30 12:31                         ` Maciej Sobczak
2010-07-30 14:59                           ` Dmitry A. Kazakov
2010-08-03  3:02                           ` Randy Brukardt
2010-08-03 14:37                             ` Robert A Duff
2010-08-03  2:47                         ` Randy Brukardt
2010-07-28 20:01             ` Keith Thompson
2010-07-29  7:46               ` Dmitry A. Kazakov
2010-07-28 11:27       ` Peter C. Chapin
2010-07-28 13:10         ` Maciej Sobczak
2010-07-28 16:32           ` Peter C. Chapin
2010-07-28 19:30             ` Robert A Duff
2010-07-28 20:03             ` Maciej Sobczak
2010-07-28 11:47     ` anon
2010-08-03  2:38     ` Randy Brukardt
2010-08-03 14:31       ` Robert A Duff
2010-07-28  0:55   ` Keith Thompson
2010-07-28  8:42     ` Markus Schoepflin
2010-07-28 11:16     ` anon
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox