jenkinsci/analysis-core-plugin — pull request #9 by kohsuke (2012-06-14 20:28:42+00:00)
Title: Reduce runtime memory footprint by prefix sharing

When there are a large number of bugs on the same project, some of their fields
tend to share common prefixes, such as package names, file names, and
so on.

So good amount of memory can be saved by exploiting this characteristic.

With this change, the 28MB findbugs-warnings.xml that contains 23674
bugs now consumes 15.0MB (down from 33.5MB), that's 55% saving.

For the time being, this change only affects data parsed back from disk
to minimize the intrusion, so newly parsed reports don't benefit from
this. That requires additional changes.

This change preserves the on-disk format.