Skip to content

ACEAPEX 2.5.0

Choose a tag to compare

@yasha1971-coder yasha1971-coder released this 28 Oct 22:44
· 69 commits to main since this release

ACEAPEX 2.5.0 — 2026-10-28

The fast profile (levels 11-18, docs/FORMAT_FAST.md) gets a new level-11 encoder and a faster decoder. The format is
unchanged: 2.4.x and 2.5.0 read each other's archives.

  • Level 11 encoder (sparse probe): 25.8 -> ~575 MB/s on one core, silesia 61.38 % (2.4.2: 61.35 %), enwik8 82.7 %
    (2.4.2: 96.8 %). Probes every 3 bytes, every 2nd position in a one-slot hash table, backward extension; matches of
    65..128 bytes are written as tokens of <= 64 bytes.
  • Decoder (every reader: C++, C99, Python): no length branches on the fast path, no memcpy calls on the escape path;
    on x86-64 Linux an AVX2 clone chosen at load time, so builds without -march (lzbench, packages) use 32-byte moves.
  • lzbench on Zen 5 (EPYC 9B45, silesia.tar, one core, median of 5): aceapex_fast -1 61.38 %, 575 / 15950 MB/s;
    zxc 0.15.0 -1 61.67 %, 852 / 11027 MB/s (results/zen5-lzbench2-2026-10-28.log).
  • Checked: HEAD judge, portability gate (MinGW-w64, gcc 10, ARMv5), fast-profile API / fuzz / C99 / fixtures, CI.

Binary

aceapex-2.5.0-linux-x86_64.tar.gz (static, x86-64-v2, zstd 1.5.7; scripts/package_linux.sh, built on the tagged commit 5194bc3).

6823b3f2893bfb9d2c87bafb411982180b19394a7499188082237ef397086ea1  aceapex-2.5.0-linux-x86_64.tar.gz
92459e37f1ea8d35961f2d8b49ae1dc30d65899abc87c4ac5cb9a6cff68152e8  aceapex (binary inside the tarball)