Episode Guide

Practical DOD
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:00Thanks for coming
0:00Thanks for coming
0:00Thanks for coming
0:41Backstory: Screen-time rules, first game, favourite game and discovering programming
0:41Backstory: Screen-time rules, first game, favourite game and discovering programming
0:41Backstory: Screen-time rules, first game, favourite game and discovering programming
2:16Growth as a programmer
2:16Growth as a programmer
2:16Growth as a programmer
3:43Don the shirt
3:43Don the shirt
3:43Don the shirt
4:05Discovering Data-Oriented Design1,2,3
4:05Discovering Data-Oriented Design1,2,3
4:05Discovering Data-Oriented Design1,2,3
4:40The Big Picture
4:40The Big Picture
4:40The Big Picture
5:40The Big Picture: Not all CPU operations are created equal4
5:40The Big Picture: Not all CPU operations are created equal4
5:40The Big Picture: Not all CPU operations are created equal4
7:36The Big Picture: The CPU is fast but main memory is slow
7:36The Big Picture: The CPU is fast but main memory is slow
7:36The Big Picture: The CPU is fast but main memory is slow
7:58The Big Picture: Avoid cache misses
7:58The Big Picture: Avoid cache misses
7:58The Big Picture: Avoid cache misses
9:04The Big Picture: Shrink objects
9:04The Big Picture: Shrink objects
9:04The Big Picture: Shrink objects
9:45Memory Layout
9:45Memory Layout
9:45Memory Layout
13:51Memory Footprint Reduction Strategies: 1) Use indexes instead of pointers
13:51Memory Footprint Reduction Strategies: 1) Use indexes instead of pointers
13:51Memory Footprint Reduction Strategies: 1) Use indexes instead of pointers
16:09Recommend Andre Weissflog's article 'Handles are the better pointers'5
16:09Recommend Andre Weissflog's article 'Handles are the better pointers'5
16:09Recommend Andre Weissflog's article 'Handles are the better pointers'5
16:38Memory Footprint Reduction Strategies: 2) Store booleans out-of-band
16:38Memory Footprint Reduction Strategies: 2) Store booleans out-of-band
16:38Memory Footprint Reduction Strategies: 2) Store booleans out-of-band
19:05Memory Footprint Reduction Strategies: 3) Eliminate padding with Struct-of-Arrays
19:05Memory Footprint Reduction Strategies: 3) Eliminate padding with Struct-of-Arrays
19:05Memory Footprint Reduction Strategies: 3) Eliminate padding with Struct-of-Arrays
21:18Memory Footprint Reduction Strategies: 4) Store sparse data in hash maps
21:18Memory Footprint Reduction Strategies: 4) Store sparse data in hash maps
21:18Memory Footprint Reduction Strategies: 4) Store sparse data in hash maps
23:27Memory Footprint Reduction Strategies: 5) Use "encodings" instead of OOP / polymorphism
23:27Memory Footprint Reduction Strategies: 5) Use "encodings" instead of OOP / polymorphism
23:27Memory Footprint Reduction Strategies: 5) Use "encodings" instead of OOP / polymorphism
30:09Case Study: Zig Compiler
30:09Case Study: Zig Compiler
30:09Case Study: Zig Compiler
30:37Zig Compiler: Pipeline
30:37Zig Compiler: Pipeline
30:37Zig Compiler: Pipeline
32:37Zig Compiler: Token, Before reduction (64 bytes each)
32:37Zig Compiler: Token, Before reduction (64 bytes each)
32:37Zig Compiler: Token, Before reduction (64 bytes each)
34:40Zig Compiler: Token, After reduction (5 bytes each)
34:40Zig Compiler: Token, After reduction (5 bytes each)
34:40Zig Compiler: Token, After reduction (5 bytes each)
35:21Zig Compiler: AST, Before reduction (120 bytes each)
35:21Zig Compiler: AST, Before reduction (120 bytes each)
35:21Zig Compiler: AST, Before reduction (120 bytes each)
36:39Zig Compiler: AST, After reduction (average 15.6 bytes each)
36:39Zig Compiler: AST, After reduction (average 15.6 bytes each)
36:39Zig Compiler: AST, After reduction (average 15.6 bytes each)
37:53Performance improvements after reducing the memory footprint of tokens and AST nodes
37:53Performance improvements after reducing the memory footprint of tokens and AST nodes
37:53Performance improvements after reducing the memory footprint of tokens and AST nodes
38:26Zig Compiler: ZIR, Before reduction (average 54 bytes each)
38:26Zig Compiler: ZIR, Before reduction (average 54 bytes each)
38:26Zig Compiler: ZIR, Before reduction (average 54 bytes each)
41:05Zig Compiler: ZIR, After reduction (average 20.3 bytes each)
41:05Zig Compiler: ZIR, After reduction (average 20.3 bytes each)
41:05Zig Compiler: ZIR, After reduction (average 20.3 bytes each)
42:10Performance improvements after reducing the memory footprint of ZIR
42:10Performance improvements after reducing the memory footprint of ZIR
42:10Performance improvements after reducing the memory footprint of ZIR
42:43The threaded per-file part of the Zig compiler processes 8.9 million lines of code per second
42:43The threaded per-file part of the Zig compiler processes 8.9 million lines of code per second
42:43The threaded per-file part of the Zig compiler processes 8.9 million lines of code per second
44:15The per-ISA part of the pipeline is no joke
44:15The per-ISA part of the pipeline is no joke
44:15The per-ISA part of the pipeline is no joke
44:46Progress Report: Zig Compiler
44:46Progress Report: Zig Compiler
44:46Progress Report: Zig Compiler
45:47Summary
45:47Summary
45:47Summary