Using Modern C++ In Anger
summary
Aeron implements a log‑replicated messaging transport with a Java media driver and a C++ client, achieving about 32 million messages/sec C++→C++ (Java ~30M, C ~15M) for IPC; core design enforces garbage‑free steady state, lock‑free paths, and explicit ownership via shared/unique/weak pointers. C++ adoption uses lambdas, std::thread, CMake and Google Test, and adds a custom Java‑memory‑model atomics layer to match Java ordering rules; a C++ media driver is under development.
AI-written summary · about
chapters (11)
- 0:00Start
- 1:13Truly modern messaging transport
- 4:26Composable Design
- 9:44The Media Driver is (currently) Java...
- 9:54DON'T PANIC!
- 10:34What constitutes Modern C++?
- 11:54Resource Ownership & Lifetime
- 28:17Escape Analysis Value Types
- 35:44Position counters are the key to flow control and monitoring
- 36:30Size Matters
- 39:03Aeron uses its own atomic operations C/C++ functions (JMM compatible)
related talks
01h 09mCombining Modern C++ and Lua
01h 16mDesigning for C++ Concurrency Using Message Passing
01h 16mApplied C++20 Coroutines
01h 08mThinking Outside the Synchronisation Quadrant
01h 24mEasy Senders/Receivers
01h 16mPolymorphism, Cohesion, and Coupling in C++
01h 03mContemporary C++ in action
54mDesigning for Concurrency Using Message Passing in C++
