You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stefan Oehme (JIRA)" <ji...@apache.org> on 2019/04/11 16:19:00 UTC

[jira] [Updated] (MNG-6633) ExcludesArtifactFilter is a memory hog

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

Stefan Oehme updated MNG-6633:
------------------------------
    Description: 
It takes the group and artifact ID of an Exclusion, concatenates them into a new String, which is kept in memory for the whole duration of the build and then compares that String against the concatenation of group and artifact ID of each incoming artifact, adding more CPU cycles than necessary. Instead it should just take the group and artifact ID from the Exclusion object and compare them against the group and artifact ID of the Artifact.

 

For the 2000 module build I'm currently profiling, this is wasting over 1GB of RAM, with hundreds of thousands of duplicated Strings.

 

See [https://github.com/apache/maven/pull/243]

  was:
It takes the group and artifact ID of an Exclusion, concatenates them into a new String, which is kept in memory for the whole duration of the build and then compares that String against the concatenation of group and artifact ID of each incoming artifact, adding more CPU cycles than necessary. Instead it should just take the group and artifact ID from the Exclusion object and compare them against the group and artifact ID of the Artifact.

 

For the 2000 module build I'm currently profiling, this is wasting over 1GB of RAM, with hundreds of thousands of duplicated Strings.

 

Pull request following shortly


> ExcludesArtifactFilter is a memory hog
> --------------------------------------
>
>                 Key: MNG-6633
>                 URL: https://issues.apache.org/jira/browse/MNG-6633
>             Project: Maven
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.6.0
>            Reporter: Stefan Oehme
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> It takes the group and artifact ID of an Exclusion, concatenates them into a new String, which is kept in memory for the whole duration of the build and then compares that String against the concatenation of group and artifact ID of each incoming artifact, adding more CPU cycles than necessary. Instead it should just take the group and artifact ID from the Exclusion object and compare them against the group and artifact ID of the Artifact.
>  
> For the 2000 module build I'm currently profiling, this is wasting over 1GB of RAM, with hundreds of thousands of duplicated Strings.
>  
> See [https://github.com/apache/maven/pull/243]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)