Tag
In his talk, Andreas clarified the distinction between data-oriented design (DOD) and Clojure-style “data-oriented programming,” explaining mechanical sympathy as the core of DOD’s antidote to “Tower of Babel” software systems. Using the 32-byte layout of AST nodes in Feno, the language he developed, he illustrated the memory waste inherent in traditional “forest of pointers” designs.
The research paper "B-Trees Are Back: Engineering Fast and Pageable Node Layouts" explores how to design faster, pageable B-tree node layouts to improve database index performance on modern hardware.
This blog post details the complexity of texture memory layouts in gaming platforms, explaining block compression, texel ordering, and platform-specific differences encountered during game engine porting to consoles.
This article explains how to design high-performance parsers by focusing on memory layout and data-oriented design, using the example of the Yuku JavaScript/TypeScript parser written in Zig.
This article explains the importance of understanding CPU cache lines and data structure layout for performance optimization in programming, using examples in Java and C. It discusses the overhead of unnecessary bytes and the trade-offs between Array of Structs and Struct of Arrays.