22
33Brush up on C++ personally to be a real-time engineer in AI era. For fundamental jargon you must know, please visit [ jargon.md] ( ./docs/jargon.md ) .
44
5+ ## Contents
6+
7+ - [ Battlefield] ( #battlefield )
8+ - [ Topics] ( #topics )
9+ - [ Allocators & Cache Behavior (Day 05)] ( #allocators--cache-behavior-day-05 )
10+ - [ Practical Application] ( #practical-application )
11+
512## Battlefield
613
14+ <details >
15+ <summary > Click to expand/collapse </summary >
16+
717``` shell
818 ┌──────────────────────────────┐
919 │ CPU │
@@ -26,13 +36,13 @@ Brush up on C++ personally to be a real-time engineer in AI era. For fundamental
2636 │ │ (Shared, MBs) │ │ Bigger and slower than L2
2737 │ └────────────────────────┘ │
2838 └──────────────┬───────────────┘
29- │
30- Local Memory Controller
31- │
39+ │
40+ Local Memory Controller
41+ │
3242 ┌──────────────────┴──────────────────┐
3343 │ │
34- RAM (NUMA Node 0) RAM (NUMA Node 1)
35- ~ 80ns latency ~ 150ns latency
44+ RAM (NUMA Node 0) RAM (NUMA Node 1)
45+ ~ 80ns latency ~ 150ns latency
3646```
3747
3848How latency can grow...
@@ -47,6 +57,8 @@ Instruction →
4757 miss → RAM (NUMA remote)
4858` ` `
4959
60+ < /details>
61+
5062# # Topics
5163
5264[day01](./src/cpp/day01/): stack vs heap
@@ -56,6 +68,9 @@ Instruction →
5668
5769# # Allocators & Cache Behavior (Day 05)
5870
71+ < details>
72+ < summary> Click to expand/collapse < /summary>
73+
5974# ## What an allocator actually is
6075
6176An ` allocator` answers two questons:
@@ -113,3 +128,7 @@ struct Good {
113128` ` `
114129
115130Group hot data together.
131+
132+ < /details>
133+
134+ # # Practical Application
0 commit comments