Opened at 2011-09-24T22:07:30Z
Last modified at 2026-05-11T23:47:04Z
#836 reopened todo
preliminary solution for critical allocations
| Reported by: | Ichthyostega | Owned by: | Ichthyostega |
|---|---|---|---|
| Priority: | normal | Milestone: | 0integration |
| Component: | lumiera | Keywords: | |
| Sub Tickets: | #1366 | Parent Tickets: | #835, #1396 |
Description (last modified by )
As a Lumiera developer,
I need a way to deal with performance critical allocations,
without being able to develop a custom allocation scheme at the current stage of development.
explanation
At some places, frequent allocations are expected to happen within a potentially performance critical context, which can neither be managed by ref-count, nor can this situation handled as bulk allocation. We should use the allocator of the standard library explicitly for those cases, yet introduce a custom marker interface, trait or concept, so that these usages can be considered for custom allocation handling later.
Change history (3)
comment:1 by , at 2011-09-25T15:42:33Z
| blocking: | 835, 834 → 834, 835 |
|---|---|
| Resolution: | → done |
| Status: | new → closed |
comment:2 by , at 2025-12-25T00:00:00Z
| blocking: | 834, 835 |
|---|---|
| Parent Tickets: | → 834, 835 |
Migration MasterTickets ⟼ Subtickets-plugin
comment:3 by , at 2026-05-11T23:27:23Z
| Description: | modified (diff) |
|---|---|
| Parent Tickets: | 834, 835 → 835, 1396 |
| Resolution: | done |
| Status: | closed → reopened |
| Sub Tickets: | → 1366 |
| Summary: | frontend for plain simple allocations → preliminary solution for critical allocations |
re-open
Over the last years,
I developed some kind of pattern to mark such cases with a special-case allocator class, that is aligned with our prospective custom allocator concept (#1366) — even while this concept is not fully established yet. Examples of that pattern can be seen in the BlockFlow and for the lib::Several allocator backend.
None of this is completed or settled in any way however, and thus I'm re-opening this ticket again. The point is not just to make a heap allocation as preliminary solution, and »policy based design« alone won't cut it — because the question is then what allocator type to place into said policy...
- an Allocator provides raw memory allocations (and is composable)
- a Factory creates objects based on an Allocator
- a Handle packages the product in such a way that de-allocation can be automated

consider that settled for now...
see #835 for the remaining work