Using Data-Oriented Design to Build Apps Better
summary
Shows how Data-Oriented Design and memory-layout changes improve performance: measuring cache misses and hotspots with perf and flamegraph, the talk replaces pointer-heavy linked lists and JS objects with contiguous vectors/Structure-of-Arrays (Float32Array SoA) and demonstrates speedups (matrix traversal from ~2.3s to <1s, Node.js cases from ~31s to ~3–4s) plus techniques like core pinning and arena-style allocation.
AI-written summary · about
chapters (16)
- 0:00Performance with DOD
- 1:04Row vs column iterations
- 3:14CPU cache impact
- 9:02Profiling with perf
- 12:14DOD principles
- 14:12Avoid pointer polymorphism
- 18:02Data structure optimization
- 19:50Reverse proxy optimization
- 22:36CPU pinning cache misses
- 24:20JavaScript DOD optimization
- 31:16Profiling with Node.js
- 34:30Optimization results
- 35:58Optimization tips
- 37:03SIMD virtualization
- 38:48TLB memory impact
- 39:09Further resources
related talks
45mYou need to know Algorithms and Data Structures in Front-end anyway
01h 04mData oriented design in practice
51mData Orientation For The Win!
45mYou need to know Algorithms and Data Structures in Front-end, anyway
01h 21mData Oriented Design and Entity Component System Explained
43mIntroduction to Data-Oriented Design in Unity
01h 05mData Storage in Entity Component Systems
38m"Design Patters for Modern JavaScript"
