~/talk

Unshaped Protos: Beyond Code Generation for Protocol Buffers

Talkat Scala Days Berlin 2018 · 2018-05-14..05-17· [api-design]
links:none on file
slides:none on file

Starts from Scala case classes and generates Protocol Buffers serializers and schemas instead of requiring .proto files; explores four implementations: manual (tedious), runtime reflection (works but very slow and fails at runtime), generic derivation with Shapeless HLists (compile-time, safer but slower due to boxing and rep conversions), and implicit macros that emit code at compile time. Built a macro-based ScalaPB extension that mostly matches hand-generated performance; measured with JMH benchmarks showing macros close to generated code and far faster than reflection.

AI-written summary · about

  1. 0:00Start
  2. 5:00The Basics: Serializing
  3. 6:34Protoless Protos
  4. 10:21Manual Definition
  5. 11:21Runtime Reflection
  6. 18:33Option 3: Inductive Implicit Search
  7. 24:54Option 3: Generic Derivation
  8. 33:37Option 4: Implicit Macros
~/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.