Uploaded image for project: 'Maven EAR Plugin (Moved to GitHub Issues)'
  1. Maven EAR Plugin (Moved to GitHub Issues)
  2. MEAR-298

Improving EAR packaging performance with ZipFileSystem

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 3.3.0

    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

        Activity

          People

            sjaranowski Slawomir Jaranowski
            peteruhnak Peter Uhnak
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: