Benchmarks

Generated from results.json on 2026-08-13 — x86_64 16 cores. Every figure below is a claim the reproduction script checks.

Compression ratio under an equal random-access constraint

Both codecs work on independent 16 KB blocks, so either can decode a region without touching the rest of the file. Comparing a block-structured format against a whole-stream archive measures the constraint rather than the mechanism.

CorpusByteszstd-3, 16 KB ACEAPEX
Human chromosome 1253,935,5573.033623.18065
English Wikipedia, 100 MB100,000,0002.333512.63791
English Wikipedia, 1 GB1,000,000,0002.566732.98108
Silesia corpus211,957,7602.674983.00457
Sequencing reads, 1 GB1,073,741,6203.628753.96476
chr1 with the genomic transform253,935,557 3.0343.77696

The last row is the same corpus with the literal transform enabled, which is opt-in: the default layout is what the published paper figures were measured on.

Reading a 16 KB region out of a 254 MB archive

ArchiveRatioSeek Needs
zstd seekable, 16 KB frames83,924,167 3.026<10 ms a separate format and a second library
ACEAPEX LIT_CHUNK=104857668,224,719 3.776963 msthe base format

The density on genomic data comes from a literal transform that switches itself on per chunk: two bits per base, letter case as a packed bitmask, and the rare non-ACGT bytes as position gaps. The encoder computes the ordinary result as well and keeps whichever is smaller, so the mode cannot cost size, and it stays off on text, archives and sequencing reads. Region output is compared byte for byte against the original at the start, the middle and the tail of the file — claim region_16k_byte_exact below.

Where ACEAPEX loses

Given a whole-file window instead of independent blocks, zstd-19 packs tighter: 4.93 against 4.04 on genome. Compression runs roughly six times slower than zstd-3. On vector data such as SIFT and TPC-H we lose outright. The format is built for data written once and read many times, and it trades encode time for decode and seek.

Verification contract

28 pass · 0 fail · 6 skipped   R reproducible here · M measured, not bit-perfect · E estimated

git clone https://github.com/yasha1971-coder/aceapex.git && cd aceapex
CHR1=/path/chr1.fa ENWIK9=/path/enwik9 ./reproduce_paper5.sh
ClaimExpectedMeasured Verdict
chr1_md5R9465e0f0df6e2c6eb39729c39cee54659465e0f0df6e2c6eb39729c39cee5465pass
chr1_baseline_ratioR3.180653.18065pass
norep_ratioR3.163473.16347pass
norep_cost_percentR0.5400.543pass
min_match16_ratioR3.225813.22581pass
class_chr1_aceapexR3.180653.18065pass
class_chr1_zstd3_16kR3.033623.03362pass
class_enwik8_aceapexR2.637912.63791pass
class_enwik8_zstd3_16kR2.333512.33351pass
class_enwik9_aceapexR2.981082.98108pass
class_enwik9_zstd3_16kR2.566732.56673pass
class_silesia_aceapexR3.004573.00457pass
class_silesia_zstd3_16kR2.674982.67498pass
class_fastq_aceapexR3.964763.96476pass
class_fastq_zstd3_16kR3.628753.62875pass
parse_chained_percentR5.465.47pass
parse_run_medianR44pass
wf_buildR-no nvcc or no CUDA deviceskipped-no-gpu
wavefront_real_msR-no nvcc or no CUDA deviceskipped-no-gpu
wavefront_par_msR-no nvcc or no CUDA deviceskipped-no-gpu
transform_chr1_ratioR3.776963.77696pass
region_16k_byte_exactR3 points matchmatchpass
transform_archive_bytesR6822471968224719pass
fasta_indexRchr1 248956422 6 50 51chr1 248956422 6 50 51pass
coord_range_byte_exactRmatchmatchpass
fai_matches_htslibRbyte-identicalidenticalpass
view_sequence_vs_htslibRmatchmatchpass
alien_index_refusedRnonzero exit, no outputexit 1pass
fai_edge_casesRcrlf multi nonl identical, ragged refusedall correctpass
lowlat_chr1_ratioR3.708073.70807pass
lowlat_region_lenR16000 bases at three offsetscorrectpass
seek_50gb_position_invarianceM292-387 usoriginal not on disk; FNV has nothing todeclared
min_match_cost_probeM1.291 -> 0.215 mstokens dropped without substituting litedeclared
scan_parser_speedupE2.7xparse 2.555 ms scaled by the 93.94 percedeclared

Corpora are fixed by accession and digest in DATA.md; the canonical one is human chromosome 1, UCSC hg38, md5 9465e0f0df6e2c6eb39729c39cee5465. GPU claims are skipped explicitly when no CUDA device is present rather than silently omitted.

Overview · Repository · arXiv:2608.10188