Implementation of a multithreaded compile-time ECS in C++14
summary
A compile‑time, multithreaded ECS called ecst runs in C++14 and uses Boost Hana–style metaprogramming, a thread pool plus latch synchronization, a sparse integer set for IDs, and policy‑based storage/layout choices. It parallelizes systems and subtasks automatically, handles deferred entity creation to avoid locks, and drives a 50,000‑particle demo at about 50 FPS on an old machine. Source and slides show the implementation and practical performance tradeoffs.
AI-written summary · about
chapters (12)
- 0:00Start
- 1:33Encoding entities - OOP inheritance
- 3:06Encoding entities - DOD composition
- 17:37Core values and concepts
- 20:58Customizable settings/policy-based design
- 23:14Type-value encoding
- 45:42Implementation details overview
- 50:13Challenges
- 50:47Sparse Integer Sets
- 52:34Data structure static dispatching -option maps
- 57:11System settings and dependencies
- 58:27Multithreading details - synchronization
related talks
01h 01mGame engine using STD C++ 11
59mAn Introduction to Multithreading in C++20
01h 08mBetter Code: Concurrency
14mExploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
47mConcurrent Programming in C++
56m“The C++ Execution Model”
01h 04mParallel Game Engine Design
