How Low Can You Go? A Comparative Dive Into gRPC and TtRPC for...
summary
ttRPC targets low-memory, low-latency local RPC by stripping features — removes HTTP/2 and TLS — and shipping simple message framing with protobuf; it sees adoption in containerd and kata and has Go and Rust implementations. Benchmarks use simple proto payloads, 200 warmup + 5k requests, Go runtime MStats and pmap. Results show smaller wire cost (~80 vs ~380 bytes) and ~100µs vs ~150µs latency, mixed memory results (Go: gRPC better on small payloads, ttRPC lower RSS; Rust: gRPC wins). Implementation quality, not protocol design, appears the main limiter.
AI-written summary · about
chapters (14)
- 0:00gRPC vs ttrpc intro
- 1:05What is ttrpc
- 3:13ttrpc design goals
- 6:23Protocol stack differences
- 8:51ttrpc message framing
- 11:41ttrpc streaming
- 12:44Network behavior comparison
- 13:06Benchmark setup
- 15:16Latency results
- 16:20Memory profiling
- 18:27Go memory usage
- 19:31Rust memory usage
- 20:17Benchmark takeaways
- 20:37Q&A
related talks
24mHow We Built Protosockets to Go Beyond HTTP and gRPC
46mIntroduction to gRPC
45mHow the Network Protocols You Choose Ultimately Affect Your Applications
37mgRPC Intro
13mRakaia: Scalable In-Kernel Scheduling for TCP-Based RPCs
33mIntro to gRPC
23mTalking to Go gRPC Services Via HTTP/1
31mCloud Native Communication Patterns with gRPC
