You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tamas Cservenak (Jira)" <ji...@apache.org> on 2024/08/02 11:00:01 UTC

[jira] [Updated] (MRESOLVER-587) Memory consumption improvements

     [ https://issues.apache.org/jira/browse/MRESOLVER-587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tamas Cservenak updated MRESOLVER-587:
--------------------------------------
    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. 

  was:
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)
 * ArtifactDescriptors could have "interned" the List<Dependency> fields as well


> 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)