Skip to content

v1.1.0 — faster codec path, new plugin coordinates

Choose a tag to compare

@Kukis13 Kukis13 released this 03 Jul 19:43
· 21 commits to main since this release

Breaking: plugin coordinates moved

The Maven group and the Gradle plugin ID moved from io.github.kukis13 to
com.ljarocki:

plugins {
    id 'com.ljarocki.parallel-zip' version '1.1.0'   // was io.github.kukis13.parallel-zip
}

tasks.register('dist', com.ljarocki.parallelzip.ParallelZip) {   // was io.github.kukis13.parallelzip.ParallelZip
    from 'build/staging'
    archiveFileName = 'dist.zip'
    store = false   // true = STORE everything (fastest, ~larger)
    threads = 12    // default: available processors
}

Existing users need to update the id and any direct ParallelZip/ParallelZipPlugin
class references. Nothing else about usage changes.

What's faster

  • New incompressibility sniff: probes large entries before compressing and STOREs
    them instead if they clearly won't shrink (already-compressed jars/binaries/media) —
    the single biggest win in this release, especially on jar-heavy archives.
  • Per-thread native libdeflate handle reuse + batched JNI calls, replacing
    alloc-per-call, cutting overhead on archives with many small entries.
  • Small entries batched into fewer compression tasks, and unfiltered entries read
    lazily
    on a worker thread instead of eagerly on Gradle's single-threaded copy walk
    (the bigger of the two).

Net effect across the 11 projects in BENCHMARKS.md: parallel-zip
DEFLATE (libdeflate) is now 1.65×–9.67× faster than Gradle's Zip task (up from
1.64×–4.78× before this release), with no regressions on any corpus. DEFLATE now trades
up to ~0.8% archive size for that speed on a few corpora — still the safe default.

Compatibility

  • Verified Gradle 9 support (fixed Gradle 9 deprecations) alongside Gradle 8.
  • Declared Configuration Cache compatibility.
  • Dropped the foojay-resolver plugin: the build now fails loudly if JDK 17 isn't
    already installed
    , instead of silently auto-downloading one.
  • Fixed the native accelerator build on non-MSVC (MinGW) Windows toolchains.

Benchmarks

Full refreshed 11-project table and methodology in
BENCHMARKS.md.