A122: zstd message compression - #562
Conversation
|
Two things that may help move this along: a process note, and some measured data The comment period may not have startedThe header still reads Measured data from a production systemThe Rationale currently argues the ratio/CPU tradeoff qualitatively ("gzip is CPU-heavy
Three observations, including one that cuts against the current wording:
Caveats, so this is weighed correctly: Python bindings over C zlib and C libzstd rather than Happy to re-run this on a larger corpus, on aarch64 Linux, or against C-core directly if that |
A122: zstd message compression
gRFC for a first-class, cross-language
zstdmessage codec (grpc-encoding: zstd). Per-message RFC 8878 frames. No dictionaries, skippable frames, or concatenated frames in the gRPC profile.Blocked grpc/grpc#26460 and grpc/grpc#41813 pending this design.
Summary
zstd(IANA / RFC 8878); magic0xFD2FB528; Dictionary_ID 0grpc-encoding, per-message Compressed-Flag (existing model)GRPC_COMPRESS_ZSTD; PythonCompression.Zstd; Java optional artifact; Goencoding/zstdGRPC_EXPERIMENTAL_ZSTD_COMPRESSION; Java/Go use artifact/import as the flagC-core, Java, and Go language owners should review.