[YANGTOOLS-1021] Add runtime-generated NormalizedNode implementations Created: 27/Aug/19  Updated: 02/Sep/19

Status: Confirmed
Project: yangtools
Component/s: data-impl
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Medium
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by YANGTOOLS-1020 Add runtime-generated Immutable maps Confirmed

 Description   

Heap dump analysis of an OFP-related use case is showing that even though we are using ImmutableOffsetMaps to hold children, those maps still account for 2.4M (10%) objects holding 55MiB (9%) shallow memory. We also see SharedSingletonMap accounting for 3.4M (15%) objects holding 79MiB (12%) memory.

Once we have YANGTOOLS-1020, we should be able to generalize that solution to generate NormalizedNode implementations, which do not reference, but rather embed the child map.

That would lead to elimination of {SharedSingleton,ImmutableOffset}Maps, or really any internal data structure, shifting those overheads to the generated class, where they are amortized among all instances without additional cost.


Generated at Wed Feb 07 20:54:57 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.