TypeCraft: A Lightweight Data Type Profiler with High Resolution
Talkat 20th USENIX Symposium on Operating Systems Design and Implementation (OSDI '26) · 2026-07-13..07-15·
summary
TypeCraft maps individual memory instructions in optimized x86 C binaries to structs and fields by combining DWARF-based type resolution with a function-scoped binary dataflow analysis, and integrates into Linux perf with zero added online overhead. Coverage rises from ~75% to ~92% (cycle-weighted ≈90%), with offline runtime seconds for user programs and ~1–2 hours per kernel binary. Applied to Linux, field reordering cuts one benchmark's LLC misses by 26.4%; an allocator fix adds 33% more, totaling ~50% fewer kernel LLC misses, up to 1.8% MySQL TPS gain and +0.5% throughput / −0.5% RAM in production; patches land in Linux 7.0/7.2.
AI-written summary · about
chapters (11)
- 0:00TypeCraft introduction
- 1:47Sampling profiler limits
- 3:11TypeCraft with perf
- 5:43DWARF dual resolution
- 6:47Static data flow analysis
- 8:38Pointer conflicts and arithmetic
- 10:04Instruction coverage evaluation
- 11:10Linux CFS case study
- 12:58Pointer indirection optimizations
- 14:00Production workload impact
- 14:45Takeaways and future
related talks
30mProfiling CPU and Memory on Linux, with Opensource Graphical Tools
18mHow Profilers Can Help Navigate Type Migration
19mProfiling Your Code: 5 Tips to Significantly Boost Performance
26mProfiling Mastery: Decode Your Data and Elevate Observability
36mNavigating TypeScript Performance for Better Dev Experience
05mHow To Profile Compilation Duration?
19mPROMPT: A Fast and Extensible Memory Profiling Framework
46mThe Hidden Secrets of Debugging
