Groups | Search | Server Info | Login | Register
Groups > comp.lang.ada > #49702
| From | "Randy Brukardt" <randy@rrsoftware.com> |
|---|---|
| Newsgroups | comp.lang.ada |
| Subject | Re: Custom Storage Pool questions |
| Date | 2021-10-02 04:06 -0500 |
| Organization | JSA Research & Innovation |
| Message-ID | <sj97ei$sru$1@franka.jacob-sparre.dk> (permalink) |
| References | (22 earlier) <sj2008$1cmo$1@gioia.aioe.org> <sj2vk4$sj$1@franka.jacob-sparre.dk> <sj3r92$pla$3@gioia.aioe.org> <sj5ja5$os1$1@franka.jacob-sparre.dk> <sj6gmg$1n1n$1@gioia.aioe.org> |
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:sj6gmg$1n1n$1@gioia.aioe.org...
> On 2021-10-01 02:04, Randy Brukardt wrote:
...
>>> Nope, this is exactly how it works with most specialized pools, like
>>> arenas, stacks, reference counting pools etc.
>>
>> These things don't work as pools in Ada.
>
> Yes, they normally have Deallocate as a void operation or raise an
> exception.
No, they don't, because they don't work with controlled types, tasks, etc.
And there is no good way to enforce that the things you allocate into them
don't have controlled or task components. So they are unsafe unless you use
the subpool mechanism.
>> You need to use the subpool
>> mechanism to make them safe,
>
> I do not see how that could change anything without destroying the whole
> purpose of such pools, namely nearly zero-cost allocation and
> deallocation.
It ties any finalization to the subpool, so all of the contained objects get
finalized when the subpool is freed. And lets the compiler know what's
happening so it doesn't finalize the objects twice. Of course, if no
finalization is involved, it doesn't do much of anything, but that's OK,
you're prepared if any later maintenance adds finalization somewhere.
...
>> because otherwise the objects go away before
>> the type (given these sorts of mechanisms generally have some sort of
>> block
>> deallocation).
>
> If controlled types need to be used, which rarely happens, a bookkeeping
> is added to finalize them. Instead of IMO useless subpools, one could add
> some allocation bookkeeping support etc.
That's again not safe in any sense. You shouldn't need to worry about
whether some abstraction that you use uses finalization, especially as you
can't know if someone adds it later.
...
>> Indeed, I now believe that any nested access type is evil and mainly is
>> useful to cause nasty cases for compilers. I'd ban them in an Ada-like
>> language (that would also simplify accessibility greatly).
>
> See where collections have led you! (:-))
No, that's mostly because of accessibility. I'd be happy if one banned doing
any allocations with general access types (mixing global/stack allocated
objects and allocated objects is pure evil IMHO), but that would be rather
hard to enforce.
Note that nested tagged types also cause many implementation problems,
adding a lot of unnecessary overhead. I'd probably go as far as banning all
nested types (as opposed to subtypes), as types are supposed to live the
entire life of the program (possibly anonymously) and that is weird when
applied to things in nested scopes whose definition could depend on dynamic
stuff.
Randy.
Back to comp.lang.ada | Previous | Next — Previous in thread | Next in thread | Find similar
Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-12 17:53 -0700
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-13 00:29 -0500
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-13 18:04 -0700
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:06 -0500
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-18 12:32 +0100
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-19 17:31 -0700
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 09:34 +0300
Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-19 23:48 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 09:35 +0200
Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-09-20 09:59 -0700
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:50 -0500
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-21 16:08 -0700
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:42 -0500
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-10-02 16:19 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-03 10:52 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:26 -0500
Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-13 13:12 +0200
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-13 17:48 -0700
Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-14 08:08 +0200
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:39 -0700
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 08:01 +0100
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-16 16:32 -0700
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:51 -0500
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-21 15:40 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-14 08:23 +0200
Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-14 08:42 +0200
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-14 09:00 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:58 -0500
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:21 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-15 08:54 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:48 -0500
Re: Custom Storage Pool questions Egil H H <ehh.public@gmail.com> - 2021-09-14 03:54 -0700
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:11 -0700
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 17:43 +0100
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 18:03 +0100
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-15 21:07 +0200
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 21:40 +0100
Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-16 00:12 -0700
Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-16 16:21 -0700
Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-17 00:08 -0700
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-17 08:18 +0100
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-17 15:56 +0200
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-17 20:46 +0100
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-17 22:39 +0200
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 00:17 +0300
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 09:49 +0200
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 12:03 +0300
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 12:22 +0200
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 18:59 +0300
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 18:19 +0200
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-19 13:36 +0300
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-19 13:41 +0200
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 10:05 +0300
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 09:35 +0200
Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 11:08 +0300
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 10:28 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:45 -0500
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:40 -0500
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:30 -0500
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:37 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-21 08:28 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:38 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 09:00 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:26 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-21 08:51 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:31 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 08:56 +0200
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-28 08:52 +0100
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 10:07 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-28 17:04 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-29 09:57 +0200
Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-09-29 07:41 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-29 17:16 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-29 19:16 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-30 10:08 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:04 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-01 10:25 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 04:06 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-02 12:18 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 23:33 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-03 10:40 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:21 -0500
Re: Custom Storage Pool questions "philip...@gmail.com" <philip.munts@gmail.com> - 2021-10-13 20:12 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-14 09:31 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-14 19:36 -0500
Re: Custom Storage Pool questions Stephen Leake <stephen_leake@stephe-leake.org> - 2021-10-15 01:08 -0700
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 10:18 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:22 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 10:15 +0200
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:44 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 11:00 +0200
Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-10-16 15:32 +0100
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 17:06 +0200
Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-10-18 07:23 -0700
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:19 -0500
Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:18 -0500
Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-16 10:41 +0200
csiph-web