From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Custom Storage Pool questions
Date: Mon, 20 Sep 2021 19:37:56 -0500 [thread overview]
Message-ID: <sib9h5$njl$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: si77kd$rka$1@gioia.aioe.org
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:si77kd$rka$1@gioia.aioe.org...
...
> 1. It is a massive overhead in both memory and performance terms with no
> purpose whatsoever. I fail to see where that sort of thing might be even
> marginally useful.
The classic example of Finalization is file management on a simple kernel (I
use CP/M as the example in my head). CP/M did not try to recover any
resources on program exit, it was the programs responsibility to recover
them all (or reboot after every run). If you had holes in finalization, you
would easily leak files and since you could only open a limited number of
them at a time, you could easily make a system non-responsive.
You get similar things on some embedded kernels.
If you only write programs that live in ROM and never, ever terminate, then
you probably have different requirements. Most likely, you shouldn't be
using Finalization at all (or at least not putting such object in allocated
things).
...
> 2. What is worse that a collection is not bound to the pool. It is to an
> access type, which may have a narrower scope. So the user could declare an
> unfortunate access type, which would corrupt objects in the pool and the
> pool designer has no means to prevent that.
Pools are extremely low-level things that cannot be safe in any sense of the
word. A badly designed pool will corrupt everything. Using a pool with the
"wrong" access type generally has to be programmed for (as I answered
earlier, if I assume anything about allocations, I check for violations and
do something else.) And a pool can be used with many access types; many
useful ones are.
Some of what you want is provided by the subpool mechanism, but it is even
more complex at runtime, so it probably doesn't help you.
Randy.
next prev parent reply other threads:[~2021-09-21 0:37 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-13 0:53 Custom Storage Pool questions Jere
2021-09-13 5:29 ` Randy Brukardt
2021-09-14 1:04 ` Jere
2021-09-21 0:06 ` Randy Brukardt
2021-09-18 11:32 ` Simon Wright
2021-09-20 0:31 ` Jere
2021-09-20 6:34 ` Niklas Holsti
2021-09-20 6:48 ` Emmanuel Briot
2021-09-20 7:35 ` Dmitry A. Kazakov
2021-09-20 16:59 ` Shark8
2021-09-21 0:50 ` Randy Brukardt
2021-09-21 23:08 ` Jere
2021-09-28 4:42 ` Randy Brukardt
2021-10-02 23:19 ` Jere
2021-10-03 8:52 ` Dmitry A. Kazakov
2021-10-14 1:26 ` Randy Brukardt
2021-09-13 11:12 ` J-P. Rosen
2021-09-14 0:48 ` Jere
2021-09-14 6:08 ` J-P. Rosen
2021-09-15 0:39 ` Jere
2021-09-15 7:01 ` Simon Wright
2021-09-16 23:32 ` Jere
2021-09-20 23:51 ` Randy Brukardt
2021-09-21 22:40 ` Jere
2021-09-14 6:23 ` Dmitry A. Kazakov
2021-09-14 6:42 ` J-P. Rosen
2021-09-14 7:00 ` Dmitry A. Kazakov
2021-09-20 23:58 ` Randy Brukardt
2021-09-15 0:21 ` Jere
2021-09-15 6:54 ` Dmitry A. Kazakov
2021-09-20 23:48 ` Randy Brukardt
2021-09-14 10:54 ` Egil H H
2021-09-15 0:11 ` Jere
2021-09-15 16:43 ` Simon Wright
2021-09-15 17:03 ` Simon Wright
2021-09-15 19:07 ` Dmitry A. Kazakov
2021-09-15 20:40 ` Simon Wright
2021-09-16 7:12 ` Emmanuel Briot
2021-09-16 23:21 ` Jere
2021-09-17 7:08 ` Emmanuel Briot
2021-09-17 7:18 ` Simon Wright
2021-09-17 13:56 ` Dmitry A. Kazakov
2021-09-17 19:46 ` Simon Wright
2021-09-17 20:39 ` Dmitry A. Kazakov
2021-09-17 21:17 ` Niklas Holsti
2021-09-18 7:49 ` Dmitry A. Kazakov
2021-09-18 9:03 ` Niklas Holsti
2021-09-18 10:22 ` Dmitry A. Kazakov
2021-09-18 15:59 ` Niklas Holsti
2021-09-18 16:19 ` Dmitry A. Kazakov
2021-09-19 10:36 ` Niklas Holsti
2021-09-19 11:41 ` Dmitry A. Kazakov
2021-09-20 7:05 ` Niklas Holsti
2021-09-20 7:35 ` Dmitry A. Kazakov
2021-09-20 8:08 ` Niklas Holsti
2021-09-20 8:28 ` Dmitry A. Kazakov
2021-09-21 0:45 ` Randy Brukardt
2021-09-21 0:40 ` Randy Brukardt
2021-09-21 0:30 ` Randy Brukardt
2021-09-21 0:37 ` Randy Brukardt [this message]
2021-09-21 6:28 ` Dmitry A. Kazakov
2021-09-28 4:38 ` Randy Brukardt
2021-09-28 7:00 ` Dmitry A. Kazakov
2021-09-21 0:26 ` Randy Brukardt
2021-09-21 6:51 ` Dmitry A. Kazakov
2021-09-28 4:31 ` Randy Brukardt
2021-09-28 6:56 ` Dmitry A. Kazakov
2021-09-28 7:52 ` Simon Wright
2021-09-28 8:07 ` Dmitry A. Kazakov
2021-09-28 22:04 ` Randy Brukardt
2021-09-29 7:57 ` Dmitry A. Kazakov
2021-09-29 14:41 ` Shark8
2021-09-29 15:16 ` Dmitry A. Kazakov
2021-09-30 0:16 ` Randy Brukardt
2021-09-30 8:08 ` Dmitry A. Kazakov
2021-10-01 0:04 ` Randy Brukardt
2021-10-01 8:25 ` Dmitry A. Kazakov
2021-10-02 9:06 ` Randy Brukardt
2021-10-02 10:18 ` Dmitry A. Kazakov
2021-10-03 4:33 ` Randy Brukardt
2021-10-03 8:40 ` Dmitry A. Kazakov
2021-10-14 1:21 ` Randy Brukardt
2021-10-14 3:12 ` philip...@gmail.com
2021-10-14 7:31 ` Dmitry A. Kazakov
2021-10-15 0:36 ` Randy Brukardt
2021-10-15 8:08 ` Stephen Leake
2021-10-15 8:18 ` Dmitry A. Kazakov
2021-10-15 22:22 ` Randy Brukardt
2021-10-15 8:15 ` Dmitry A. Kazakov
2021-10-15 22:44 ` Randy Brukardt
2021-10-16 9:00 ` Dmitry A. Kazakov
2021-10-16 14:32 ` Simon Wright
2021-10-16 15:06 ` Dmitry A. Kazakov
2021-10-18 14:23 ` Shark8
2021-09-21 0:19 ` Randy Brukardt
2021-09-21 0:18 ` Randy Brukardt
2021-09-16 8:41 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox