Peter Uhnak created MEAR-298:
--------------------------------

             Summary: Improving EAR packaging performance with ZipFileSystem
                 Key: MEAR-298
                 URL: https://issues.apache.org/jira/browse/MEAR-298
             Project: Maven EAR Plugin
          Issue Type: Improvement
            Reporter: Peter Uhnak


Hi, I was exploring performance around the ear packaging on Windows, and found 
a major bottleneck in the `EarMojo#changeManifestClasspath`.

The current implementation always unpacks and then re-packs all its modules to 
check/make manifest.mf changes, and remove jars if necessary (skinnyWars).

On Windows, this is extra costly for modules with too many small files (e.g. 
war). Plus the extra time of uncompressing/compressing. (This also changes the 
war's compression, if configured in the maven-war-plugin).

I have a working implementation using nio ZipFileSystem which performs all 
changes directly in the zip, so I can make a PR.

For our projects I'm seeing 70-90+% perf improvements (or rather near-constant 
time vs time increasing with the size of the modules).

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to