-
Improvement
-
Resolution: Done
-
Medium
-
None
-
None
Most EffectiveStatement subtrees are inlined via grouping/uses mechanics, which we gain control of via YANGTOOLS-694.
Since most effective statements have a SchemaPath, their state depends on it and thus we cannot reasonably share state – this property cascades to parent substatement list – hence we can share very little.
Once we get rid of SchemaPath, though, each effective statement's state is (mostly?) dominated by its QName (which dictates substatements' QNames, etc.), hence we can deploy a very efficient flyweight pattern, where we maintain a QNameModule -> template cache and aggressively reuse effective statements.
- is blocked by
-
YANGTOOLS-694 Eliminate duplicate DescriptionEffectiveStatementImpl objects
- Resolved
-
YANGTOOLS-1066 SchemaPath identification of SchemaNodes is costly and useless
- Resolved
- relates to
-
YANGTOOLS-1209 Track substatement independence in StatementContextBase
- Resolved