Plenary: The Beauty and Power of "Primitive" C++
summary
A tiny library maps typed objects to and from bytes with zero copying, a simple IDL of “flats”, a parser/generator and a runtime of accessors called a message descriptor. The prototype is about ~2,000 lines of C++ (parser ≈1,000, support ≈500), interoperates with Java and Python, and measures show single-message writes in the low nanoseconds (microbenchmarks ~4 ns) while tail allocations cost tens of nanoseconds (≈55 ns); implementation works but is deliberately experimental, not a standards proposal.
AI-written summary · about
chapters (44)
- 0:00Introduction
- 1:49Constraints
- 5:22Communication Model
- 6:17Data Structures
- 7:39Arrays
- 8:40Message Describing
- 9:15Type Mapping
- 11:23Types
- 11:54Whiteboard
- 12:34Interface Definition
- 13:38Flats
- 15:06Generator
- 15:50Framework
- 16:35Implementation
- 17:43Why write 2000 lines
- 19:23Flats Framework
- 20:04Good interfaces
- 21:56Single interface
- 24:54Single interface example
- 26:04Can I afford this
- 28:23Default constructor
- 28:45Test code
- 30:00Message Descriptor
- 31:16Openclose parenthesis
- 32:20Array
- 33:10Strings
- 34:33Vectors
- 35:23Memory Allocation
- 36:14String Allocation
- 36:37String Copy
- 38:18Error Handler
- 39:00Error Handling
- 39:23ExpectIt
- 40:23Default
- 41:12Cost
- 44:10Span
- 45:00SpanRef
- 46:09Initialization
- 48:30Optionals
- 49:48Time
- 50:23General Observations
- 51:53Debugging
- 54:53Typesafe mapping
- 58:42QA
related talks
40m"Fine-Grained C++ Interop"
01h 04mFunctional C++ for Fun and Profit
01h 02mEmbedded Friendly C++: Features That Make a Difference
01h 00mHow to call C libraries from C++
23mFunctional Programming in C++ (Run time vs Compile time types)
01h 00mKilling C++ Serialization Overhead & Complexity
01h 36mPlenary: Cooperative C++ Evolution - Toward a Typescript for C++
02h 02mPeering forward: C++'s next decade
