docs: state the real cost of skipping compression on streamed responses - #491
Open
TurkeyMan wants to merge 1 commit into
Open
docs: state the real cost of skipping compression on streamed responses#491TurkeyMan wants to merge 1 commit into
TurkeyMan wants to merge 1 commit into
Conversation
TurkeyMan
force-pushed
the
ow/static-compression-note
branch
from
August 16, 2026 01:37
7627e4a to
5170719
Compare
TurkeyMan
force-pushed
the
ow/static-compression-note
branch
from
August 17, 2026 05:06
5170719 to
1eab5f2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #489, docs only.
The UX_TODO note I wrote there said streamed responses skip compression "trading a little link time for bounded memory". Measured, that undersells it:
goodwe_ems.confis 135,658 bytes and gzips to 27,657, so ~4.9x. The 64KB threshold sends the most compressible content (large text) down the uncompressed path, so the config editor's own files are exactly the ones that now transfer at full size, where the old buffered path gzipped them.The note now states the real ratio, says plainly that clients should not assume large files arrive compressed, and records why it isn't simply fixed: a compressed body of unknown length needs
Transfer-Encoding: chunked(Content-Length counts post-encoding octets, so it can't be known up front), and that needs an incremental compressor. urt.zip has none:zlib_compress/gzip_compressare whole-buffer, and the internals are structurally so (singleBFINAL=1block, match finder holding raw pointers into the source, output accumulated in one buffer).Deferred deliberately, not overlooked. Worth noting websocket permessage-deflate queues behind the same missing piece.
🤖 Generated with Claude Code