Skip to content

[MEAR-298] Improving EAR packaging performance with ZipFileSystem #174

@jira-importer

Description

@jira-importer

Peter Uhnak opened MEAR-298 and commented

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

 


Remote Links:

Metadata

Metadata

Labels

enhancementNew feature or requestpriority:minorMinor loss of function, or other problem where easy workaround is present

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions