Bounded-Memory Archive Operation at Scale
ZJX 1.21 STREAMWALL: The Archive Stayed the Same. The Memory Profile Transformed.
ZJX 1.21 STREAMWALL is Greyforge Labs' bounded-memory release for the ZJX lossless archive system. The same Silesia corpus now completes under a 1 GiB host ceiling and 768 MiB ZJX ceiling with exact restoration and compatible output.
STREAMWALL reduced the historical Silesia memory reference from 8.58 GB to approximately 390 MB while preserving compatible archive output.

390 MB
Silesia peak RSS
was 8.58 GB · 95.5% lower
22×
Less memory
same 52,997,299-byte archive
3 GiB
Scaling proof
under 1 GiB host ceiling
28+129
Tests green
plus 37 Arena · scrub pass
Benchmark / Experiment
Secondary class: Release / Build Record
- Research question or engineering problem
- Can ZJX produce deterministic, compatible archives while operating within explicit memory and spool ceilings across Silesia, multi-gigabyte, and structured workloads?
- Principal finding
- STREAMWALL achieves bounded-memory execution with deterministic output, exact restoration, and compatible archive bytes across Silesia, 1 MiB through 3 GiB scaling, twelve structured workloads, and public corpora.
- Evidence type
- Arena process-tree RSS and wall-time measurements, archive byte counts, SHA-256 digests, and exact round-trip verification under declared ceilings.
- Method summary
- Run governed pack, test, and unpack under fixed host, ZJX-memory, and spool limits; record peak RSS via GNU time plus 10 ms procfs sampling; compare archive bytes and digests against ZJX 1.2 baselines.
- Scope
- ZJX 1.21 STREAMWALL on the retained release host; Silesia, enwik8, Calgary, Canterbury, enwik9, twelve Greyforge structured workloads, deterministic scaling, five-ceiling matrix, and 103-file frozen packet.
- Limitations
- Timing is from one nondedicated host; compatibility and bounded-memory conclusions are stronger than portable speed claims.
- The 3 GiB case exceeds its enforced process ceiling but not the host's installed physical memory.
- The configured 512 MiB Silesia stretch target is not met due to conservative fixed xz state reservation.
- Spooling moves pressure to governed temporary disk with a conservative planning envelope.
- Numeric-claim method
Method boundaries for numeric claims baseline Historical Silesia 8,580,669,440-byte RSS failure row, ZJX 1.2 timed medians for enwik8 and structured cases, and ZJX 1.2 archive bytes and digests. comparator ZJX 1.21 peak encode RSS, wall time, retained archive bytes, and SHA-256 under the declared 1 GiB host and 768 MiB ZJX ceilings. Date 2026-08-27 release campaigns; verification 2026-08-30. environment Ubuntu 24.04.4 LTS, AMD Ryzen 5 3600 6-core, 16 GiB RAM, Zig 0.17.0-dev.248+95507faf1, Linux 7.0.0-30-generic, LANG C.UTF-8, PYTHONHASHSEED 0, TZ UTC, MCM unconfigured. scope Silesia 211,938,580 bytes to 52,997,299 bytes, enwik8 100,000,000 bytes to 24,831,307 bytes, twelve structured workloads, 1 MiB through 3 GiB deterministic scaling, and 103-file frozen compatibility packet. limitation Values are host-specific; reproductions on other hardware require independent measurement. Corpus content determines eligibility; limits compete and may reject workloads that exceed spool planning. - Public source or reproduction note
- ZJX 1.21 STREAMWALL source note
- Published
- 2026-08-30
- Last verified
- 2026-08-30
- Status
- current
Silesia release gate - bounded-memory result
Silesia v1: 211,938,580 bytes across 12 files. Policy: maximum, solid, exact. Historical comparison is the retained 8 GiB failure row.
This table scrolls horizontally on narrow screens.
| Measure | ZJX 1.21 STREAMWALL | Historical reference | Boundary |
|---|---|---|---|
| Host / ZJX ceiling | 1 GiB / 768 MiB | 8 GiB address-space limit | Governed working-memory and spool admission |
| Input | 211,938,580 B | 211,938,580 B | Digest-locked Silesia v1 |
| Archive | 52,997,299 B (SHA-256 9261ead7…) | no archive - resource_exhausted | Byte-identical to earlier compatible in-memory archive |
| Peak encode RSS | 390,225,920 B | 8,580,669,440 B | 95.5% lower · ~22× less |
| Verification | PASS | - | Exact digest and semantic digest |
| Extraction RSS | 19,341,312 B | - | Exact tree comparison |
| Wall time | 492.08 s | 24.805 s to failure | Not a regression ratio - 1.2 never completed |
The governed peak remains 711,428,742 bytes because conservative fixed codec reservations are charged even when observed RSS is lower. The configured 512 MiB Silesia encode target is not met: compatibility-preserving codec state requires a faster path that remains future work. Decoder memory is comfortably below encoder memory.
Machine Facts
- ZJX 1.21 STREAMWALL is Greyforge Labs' bounded-memory release for the ZJX lossless archive system.
- Silesia v1 (211,938,580 bytes, 12 files) encodes to a 52,997,299-byte archive with SHA-256 9261ead712ed723fd33bdbe9a2b1f3862d010ba4c1fb2bfb751cd644105d892f.
- STREAMWALL reduced Silesia peak encode RSS from the historical 8,580,669,440 bytes to 390,225,920 bytes - approximately 95.5% lower and roughly 22× less - under a 1 GiB host ceiling and 768 MiB ZJX ceiling.
- Silesia verification and exact extraction also pass under the same ceilings; extraction peaks at 19,341,312 bytes RSS and restores the exact source tree.
- The STREAMWALL archive is byte-identical to the earlier compatible in-memory archive, preserving ZJX1 archive semantics.
- Twelve selected Greyforge structured workloads preserve their ZJX 1.2 archive byte counts, SHA-256 digests, and exact round trips under the same bounded ceilings.
- Representative structured results include Siglum 10,000 at 124.4 MB RSS, sharded NDJSON at 65.7 MB, mixed repository at 109.6 MB, and workflow artifacts at 42.9 MB.
- Deterministic 1 MiB through 3 GiB scaling completes under a 1 GiB host ceiling and 768 MiB ZJX ceiling, with approximately 27.2 MB encode RSS at 1 GiB input and 30.1 MB at 3 GiB input.
- Enwik8 reproduces byte-identical output at 408.264 s versus 453.532 s - approximately 9.98% faster - and 733 MB versus 1,103 MB RSS.
- Release validation records 28 of 28 Zig tests, 129 Python integration checks, 37 focused Arena tests with 14 parameterized subtests, smoke PASS, scrub PASS, zero final-campaign timeouts, zero OS OOM events, and a 103-file checksum-sealed release evidence packet.
- Calgary, Canterbury, and enwik9 also reproduce byte-identical archives; the five-ceiling matrix produces one deterministic digest across every sufficient memory ceiling.
- Source reads at 1, 7, 64 bytes and 4 KiB, 64 KiB, 1 MiB plus an irregular pattern produce byte-identical archives, confirming chunk-read invariance.
What Happened
ZJX 1.21 STREAMWALL changes how the archive is produced and verified, not what the archive contains. The ZJX1 container, manifest, metadata profile, codec selection, archive bytes, and restored file semantics remain unchanged when limits are sufficient for the deterministic algorithm.
Silesia is the proof that this distinction matters operationally. The same 211.9 MB corpus that previously reached 8.58 GB RSS and failed without an archive now completes into a retained, byte-compatible 53.0 MB archive under a 1 GiB host ceiling and 768 MiB ZJX ceiling. Verification passes, and extraction restores the exact source tree while peaking at only 19.3 MB RSS.
That outcome moves Silesia from a scaling limit into an evidence product. Enterprise retention, large structured logs, repository history, and mixed-asset trees no longer need to justify an unbounded memory allowance to keep ZJX ' s compression behavior.
Why It Mattered
Archive trust is a resource question as much as a byte question. A technically impressive ratio means little if the operation that produces it can only run on hosts with unbounded memory or if verification itself needs the same large reservation. Operators need three properties at once: the archive is deterministic, the restore is exact, and the resource cost is explicit before the job starts.
STREAMWALL makes resource cost an admission decision. Every major allocation and spool write is checked against a governed working-memory limit and a planned spool envelope. If the work cannot fit, ZJX rejects it with the stable classifications MemoryBudgetExceeded or SpoolBudgetExceeded before host enforcement becomes the mechanism. That turns a potential process-kill into a legible policy event.
The practical consequence is that structured workloads become deployable memory stories. The twelve selected Greyforge lanes - telemetry, compact JSONL, sharded NDJSON, workflow artifacts, agent traces, repository fixtures, and Siglum portfolio scales - all reproduce their ZJX 1.2 digests under bounded ceilings while reporting materially lower memory profiles.
Structured Greyforge workloads - same bytes, bounded memory
Twelve selected workloads under a 1 GiB host ceiling and 768 MiB ZJX ceiling. All reproduce ZJX 1.2 archive bytes, SHA-256, and exact round trips. Representative peak RSS changes follow.
This table scrolls horizontally on narrow screens.
| Workload | Raw input | Archive | STREAMWALL RSS | Historical RSS |
|---|---|---|---|---|
| Siglum 10,000 | 7.90 MB | 10,336 B | 124.4 MB | 1.60 GB |
| Sharded NDJSON | 1.54 MB | 19,874 B | 65.7 MB | 905.3 MB |
| Mixed repository | 1.03 MB | 139,009 B | 109.6 MB | 1.08 GB |
| Workflow artifacts | 50.8 KB | 2,574 B | 42.9 MB | 440.7 MB |
| Compact JSONL | 939 KB | 5,028 B | 57.8 MB | - |
| Agent tool traces | 1.23 MB | 3,256 B | 66.4 MB | - |
All twelve workloads pass. The four highlighted rows move from gigabyte-scale historical RSS into tens or low hundreds of megabytes. No archive byte count and no digest changed. Every lane round-trips exactly.
Deterministic scaling - input grows, memory stays bounded
The deterministic 1 MiB through 3 GiB campaign runs under one consistent ceiling: 1 GiB host, 768 MiB ZJX, 64 GiB spool. Input size increases I/O, spool use, and wall time - not retained RAM.
| Input | Archive | Encode RSS | Decode RSS | Spool high-water | Wall |
|---|---|---|---|---|---|
| 1 MiB | 116 B | 56.7 MB | 11.5 MB | 2.1 MB | 0.88 s |
| 10 MiB | 126 B | 137.5 MB | 24.8 MB | 21.0 MB | 3.79 s |
| 100 MiB | 267 B | 667.3 MB | 11.6 MB | 314.6 MB | 9.83 s |
| 1 GiB | 1,114 B | 27.2 MB | 12.9 MB | 1.07 GB | 8.38 s |
| 3 GiB | 2,790 B | 30.1 MB | 15.6 MB | 3.22 GB | 24.66 s |
The 100 MiB spike is fixed compatibility-codec state, not retained input. Above the fixed 512 MiB compatibility boundary, the 1 GiB and 3 GiB cases settle at 27.2 MB and 30.1 MB observed encode RSS - approximately flat post-threshold memory behavior. Governed peaks remain near 707 MB because conservative fixed reservations are charged even when physical RSS is lower. The 3 GiB input completes while exceeding its enforced process ceiling threefold, though not the host's installed physical memory.
The Architectural Response
Bounded operation is not a single optimization. It is a coherent engine replacement that keeps ZJX1 semantics while removing the places where payload bytes became retained RAM.
ZJX now operates behind an operation-scoped resource governor that owns working-memory limits, spool limits, reserved codec state, and observed peaks. A single reusable input buffer replaces whole-file retention. Earlier raw chunks move to a file-backed spool so later references can replay them without holding the entire corpus. Solid candidates, structured transforms, and decoded replay use governed spools rather than capturing complete streams in memory. Verification and extraction hash and measure incrementally while streaming.
Single-worker synchronous stages provide the first backpressure mechanism. Deterministic candidate ordering, tie-breaking, codec arguments, and environment isolation are preserved so buffered boundaries do not alter archive bytes. Where the historic one-shot encoder was required for byte identity, ZJX keeps it through bounded file-backed mapping rather than replacing its output.
The result is operationally legible: Silesia and multi-gigabyte inputs can be attempted under explicit ceilings, spool expectations are planned before launch, and a rejected job names its budget class instead of disappearing into a host kill.
What Changed
The evidence change is broad. Every required release-success criterion passes. The preferred 512 MiB Silesia stretch target is the single unmet gate - the exact legacy xz candidate evaluation conservatively reserves 705,794,571 bytes of fixed state, even though observed total RSS is already below 512 MiB.
Public corpora reproduce deterministic output. Calgary, Canterbury, enwik8, and enwik9 each produce the same bytes and SHA-256 as ZJX 1.2. Enwik8 becomes the clearest practical-corpus win: the same 24.8 MB archive completes in 408.264 s versus 453.532 s - 9.98% faster - while encode RSS falls from 1,103 MB to 733 MB. Calgary and Canterbury track their 1.2 times at 101.96% and 100.65%. Enwik9 is 6.07% slower at 333 s versus 314 s with byte-identical output.
The validation packet confirms that bounded execution does not trade correctness for pragmatism. The full suite records 28 of 28 Zig tests, 129 Python integration checks with one optional skip, 37 focused Arena tests with 14 parameterized subtests, smoke PASS, and scrub PASS. Frozen compatibility seals 103 files - 102 indexed artifacts plus their checksum index at SHA-256 b82356c409433b712bdd9cf9c548c8203236e5a0bf40eddbfc9d8f866dfa2cc7. Chunk reads at every tested byte width produce byte-identical archives. The five-ceiling memory matrix produces one digest from 256 MiB through 8 GiB host limits. Final canonical campaigns report zero timeouts and zero OS OOM events.
Public corpora - compatible output with bounded execution
Maximum, solid, exact policy. Calgary, Canterbury, enwik8, enwik9, and Silesia under bounded verification and extraction where measured.
This table scrolls horizontally on narrow screens.
| Corpus | Archive bytes | SHA | ZJX 1.21 wall | ZJX 1.2 wall | RSS (1.21) | RSS (1.2) |
|---|---|---|---|---|---|---|
| Calgary | 819,791 | identical | 15.84 s | 15.54 s | 133.0 MB | 196.7 MB |
| Canterbury | 484,159 | identical | 23.35 s | 23.20 s | 123.3 MB | 118.7 MB |
| enwik8 | 24,831,307 | identical | 408.26 s | 453.53 s | 733.0 MB | 1,103 MB |
| enwik9 | 272,162,684 | identical | 333.44 s | 314.35 s | 96.6 MB | 88.3 MB |
| Silesia | 52,997,299 | compatible | 492.08 s | failed | 390.2 MB | 8,580.7 MB |
Silesia's historical time and RSS are the retained failure row; every other row is a deterministic byte-identical reproduction. Enwik8 is the measured speed and memory improvement under bounded execution.
Exact restoration
Every selected workload restores the exact source tree. Silesia, enwik8, structured twelve, scaling five, and the 103-file frozen packet all verify bit-for-bit.
Compatible output
STREAMWALL preserves ZJX 1.2 archive bytes where the configured limits are sufficient. No format change and no digest change on the measured lanes.
Explicit failure
Insufficient limits fail as named budget classifications, not silent host kills. Spool and memory compete under one governed ceiling.
What Comes Next
STREAMWALL closes the bounded-memory architecture, not an entire product horizon. The present limit on the Silesia stretch target is compatibility codec state, not retained payload. Temporary spool capacity becomes the next capacity surface: large inputs succeed because they can stream to governed disk, and very large inputs may ultimately be spool-bound rather than memory-bound.
For teams evaluating ZJX, the next decision is narrower than the headline. Select a retention lane where structured bytes and exact restore discipline matter - telemetry, governed JSONL, sharded NDJSON, repository snapshots, or ordered Siglum-scale history - then validate that lane under the ceilings the deployment can offer. The archive will report whether it fits before the host does.
ZJX remains a Linux-first lossless archive prototype. STREAMWALL makes it an archive that can be operated, not only measured.
The archive stayed the same. The memory profile transformed.
ZJX 1.21 STREAMWALL proves that Silesia-scale structured archives can be deterministic, exact, compatible, and bounded - without asking the host to match the corpus in RAM.