Skip to content

Commit e372eee

Browse files
isubasingheclaude
andcommitted
docs: fix spellcheck for node status compression docs
Adds the compression vocabulary to .spelling, moves timing units into the benchmark table header so cells are bare numbers, and relocates the internal benchmark design spec out of docs/ to live with the harness. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: isubasinghe <isitha@pipekit.io>
1 parent 439d0fe commit e372eee

3 files changed

Lines changed: 12 additions & 11 deletions

File tree

.cspell.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
"wftmpl",
8686
"workflowkey",
8787
"workflowtemplate",
88-
"workflowtemplates"
88+
"workflowtemplates",
89+
"zstd"
8990
]
9091
}

docs/offloading-large-workflows.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@ Levels are algorithm-specific and default to each library's own default: `gzip`
1919

2020
For context, measurements on synthetic node statuses (sizes are relative to the gzip default, compression times are for ~1MiB and ~10MiB of node status JSON):
2121

22-
| Algorithm | Level | Size vs gzip | Compress 1MiB | Compress 10MiB |
23-
|-----------|-------------|--------------|---------------|----------------|
24-
| `gzip` | 6 (default) | 100% | 5ms | 43ms |
25-
| `zstd` | 2 (default) | 88% | 6ms | 49ms |
26-
| `zstd` | 3 | 82% | 6ms | 58ms |
27-
| `brotli` | 6 (default) | 72% | 11ms | 129ms |
28-
| `brotli` | 9 | 67% | 24ms | 232ms |
29-
| `brotli` | 11 | 59% | 1.7s | 18.3s |
30-
31-
Decompression speed is roughly equal for all three algorithms (~9ms per 1MiB of JSON). Higher levels than those shown buy little: brotli 11 compresses best but is ~80× slower than brotli 9, which matters because the controller re-compresses the status on every update of a large workflow. `zstd` 3 and `brotli` 9 are good choices when smaller statuses are worth slightly more controller CPU; they raise the effective node-count ceiling before offloading is required by ~20% and ~50% respectively.
22+
| Algorithm | Level | Size vs gzip | Compress 1MiB (ms) | Compress 10MiB (ms) |
23+
|-----------|-------------|--------------|--------------------|---------------------|
24+
| `gzip` | 6 (default) | 100% | 5 | 43 |
25+
| `zstd` | 2 (default) | 88% | 6 | 49 |
26+
| `zstd` | 3 | 82% | 6 | 58 |
27+
| `brotli` | 6 (default) | 72% | 11 | 129 |
28+
| `brotli` | 9 | 67% | 24 | 232 |
29+
| `brotli` | 11 | 59% | 1700 | 18300 |
30+
31+
Decompression speed is roughly equal for all three algorithms (about 9 milliseconds per MiB of JSON). Higher levels than those shown buy little: brotli 11 compresses best but is about 80 times slower than brotli 9, which matters because the controller re-compresses the status on every update of a large workflow. `zstd` 3 and `brotli` 9 are good choices when smaller statuses are worth slightly more controller CPU; they raise the effective node-count ceiling before offloading is required by roughly 20% and 50% respectively.
3232

3333
These numbers are from synthetic data; real workflows may compress differently.
3434

docs/superpowers/specs/2026-06-12-node-compression-benchmark-design.md renamed to hack/compression-bench/DESIGN.md

File renamed without changes.

0 commit comments

Comments
 (0)