Description
In DataPool, following can be done to reduce memory usage:
ArtifactDescriptor key does not have to be Artifact instance, is really just GACEV needed (is identity)WRONG, it must be Artifact. Still, some improvement is done introducing new key type.- ArtifactDescriptors could have "interned" the List<Dependency> fields as well
Latter is done and controlled by two new configuration properties:
- aether.dependencyCollector.pool.internArtifactDescriptorDependencies defaults to false
- aether.dependencyCollector.pool.internArtifactDescriptorManagedDependencies defaults to true
Having true/true tremendously improve memory consumption but increases runtime.
Attachments
Issue Links
- relates to
-
MRESOLVER-589 ArtifactDescriptorResult should be immutable
- Open
- links to