~/talk

Effective Protobuf: Everything You Wanted To Know, But Never Dared To Ask

Talkat PyCon US 2022 · 2022-04-27..05-03· [python]
slides:none on file

A production debugger serializes deep runtime snapshots (customers ask for up to 20 levels deep) into protobufs, faces >100 megabyte messages, and optimizes by deduplicating strings into IDs, doing minimal synchronous copies then background serialization, merging and reusing fields with bitwise packing, and favoring small field ids (recommended field ids 1–15). Builds use protoc/proto3, consider the native C extension, and report measured wins of about 40% latency and 50% size reductions.

AI-written summary · about

  1. 0:00Introduction
  2. 2:37Variables
  3. 3:08Memory
  4. 5:18Considerations
  5. 8:04Popular frameworks
  6. 9:31Why use Protobuf
  7. 11:16When not to use Protobuf
  8. 12:18Protobuf overview
  9. 14:36Primitives
  10. 15:51Why Protobuf
  11. 16:47Creating a Protobuf
  12. 17:44Setting a breakpoint
  13. 17:54Local variables
  14. 19:01Optimization goals
  15. 19:36Serialization
  16. 20:05Strings
  17. 21:01Serializing
  18. 21:31Key Value
  19. 21:54Key Variants
  20. 22:20Field IDs
  21. 22:33Reducing fields
  22. 23:14Merging fields
  23. 24:59Oneoff fields
  24. 26:02Conclusion
~/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.