~/talk

Rethinking Data Flow in gRPC-Go: Maximizing Memor...

Talkat gRPConf 2024 · on Tuesday, 2024-08-27· [go, networking]
links:none on file
links:none on file
slides:none on file

gRPC-Go replaces flat byte marshal/unmarshal with a ref‑counted m package that exposes buffer slice and buffer pool types so encoders and the transport pass around fragments without copying; a custom scatter-gather framer accepts buffer slices, removes internal framer buffering, and hands pooled buffers to callers. Benchmarks show LinkedIn running the PR in production with “huge gains” for very large protobuf messages, fewer allocations for small messages, and remaining copies only for network read and batch writer.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05Memory usage motivations
  3. 1:49gRPC-Go encoding
  4. 2:55Proto encoding problems
  5. 6:25Copy/allocation issues
  6. 8:56mem package for buffers
  7. 11:27Transport layer overview
  8. 13:12http2 framer pain points
  9. 16:45Framer optimizations
  10. 17:48Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.