Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.2.2
-
None
Description
Frequently an aggregate will contain several primitives that all import a single shared type system descriptor. Currently, the shared type system descriptor will be separately parsed for each of the primitives, and each primitive descriptor will contain a separate copy of the TypeSystemDescription object.
When there are a large number of primitives and a large number of types in the shared type system, this parsing takes a long time and the resulting TypeSystemDescription objects consume a lot of memory.
Instead, we could keep a cache of imports that have already been parsed, and we can reuse the same TypeSystemDescription object within each of the primitive descriptors rather than having a separate copy.