Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
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).
Attachments
Issue Links
- links to