logicsrc/docs/openstream/reports/2026-09-13-nixamp-0.24.2-synthetic.md
Anthony Ettinger fd25e8e4ba
Some checks are pending
CI / build (push) Waiting to run
test / test (push) Waiting to run
docs: OpenStream benchmark report for nixamp 0.24.2 (#184)
Manual publish of the report attached to the nixamp v0.24.2 release
(openstream-report-0.24.2.json/.md). The release workflow's
publish-report job skipped because LOGICSRC_PUBLISH_TOKEN is not set
on profullstack/nixamp. Built-in synthetic corpus, so the id carries
the -synthetic label per docs/openstream/reports/README.md.


Claude-Session: https://claude.ai/code/session_015uheT4Gn9BBKAnSZGcabyN

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-13 05:16:24 -07:00

38 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OpenStream benchmark — nixamp 0.24.2
Generated 2026-09-13T09:48:49.844Z · envelope NXS1 · schema 1
**Environment.** node v24.20.0, zstd 1.5.7, zlib 1.3.2.1-motley-42c2f19, on linux 6.17.0-1022-azure x64, 4× INTEL(R) XEON(R) PLATINUM 8573C, 15.6 GiB.
**Policy.** block 262144 B; eligible at 3% and 512 B; zstd levels 1, 3, 9.
## Corpus
| sample | kind | bytes | container | best mode | saves |
| --- | --- | ---: | --- | --- | ---: |
| random-1mib | synthetic | 1048576 | bytes | stored | stored |
| zeros-1mib | synthetic | 1048576 | bytes | zstd L9 | 99.97% |
| text-repeat-1mib | synthetic | 1048576 | bytes | zstd L1 | 99.95% |
| ts-padded-50pct | synthetic | 752000 | mpegts | ts-zstd L1 | 50.04% |
| ts-unpadded | synthetic | 752000 | mpegts | stored | stored |
| tiny-3b | synthetic | 3 | bytes | stored | stored |
| empty | synthetic | 0 | bytes | stored | stored |
## Aggregate, per mode across the corpus
| mode | wire bytes | saving | enc ms | dec ms | round trip |
| --- | ---: | ---: | ---: | ---: | --- |
| stored | 4651091 | -0.03% | 0 | 0 | ok |
| gzip L6 | 2185882 | +52.99% | 57.09 | 10.94 | ok |
| zstd L1 | 2180173 | +53.11% | 14.55 | 9.62 | ok |
| zstd L3 | 2178281 | +53.15% | 12.8 | 8.59 | ok |
| zstd L9 | 2178204 | +53.15% | 53.79 | 8.85 | ok |
| ts-zstd L1 | 1127952 | +25% | 9.27 | 4.87 | ok |
## Caveats
- Envelope v1: a 16-byte stream header, a 48-byte header per frame, plus one end frame.
- OpenStream is a framing envelope over Zstandard and gzip, not a new compression algorithm; these numbers are those codecs at the block boundary, honestly framed.
- Synthetic samples do not predict production savings. A padded transport stream flatters a codec by its padding; an efficient real feed saves far less. Use --corpus with authorized real samples for numbers that mean something.
- Timings are wall-clock on the machine and runtime named in `environment` and do not transfer to other hardware.
- roundTrip:false in any row is a failure of exactness and must block a release.