[ https://issues.apache.org/jira/browse/MRESOLVER-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17870476#comment-17870476 ]
ASF GitHub Bot commented on MRESOLVER-587: ------------------------------------------ gsmet commented on code in PR #536: URL: https://github.com/apache/maven-resolver/pull/536#discussion_r1701742710 ########## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DataPool.java: ########## @@ -257,7 +257,7 @@ public static final class DescriptorKey { private DescriptorKey(Artifact artifact) { this.artifact = artifact; - this.hashCode = buildHashCode(); + this.hashCode = Objects.hashCode(artifact); Review Comment: Ah yeah sorry, I was used to more complex hashCode construction and kept this pattern (we avoid using `Objects.hash` as it allocates an array and can be problematic in some cases so we end up with traditional boilerplate hashCodes). > Memory consumption improvements > ------------------------------- > > Key: MRESOLVER-587 > URL: https://issues.apache.org/jira/browse/MRESOLVER-587 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver > Reporter: Tamas Cservenak > Assignee: Tamas Cservenak > Priority: Major > Fix For: 2.0.1, 1.9.22 > > > 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. -- This message was sent by Atlassian Jira (v8.20.10#820010)