Slowing Down to Be Faster: C++ and Divisible Algorithms in Real-Time Systems
summary
Real-time C++ RLE compression is rewritten so it can be paused and resumed: the algorithm accepts a continuation predicate, writes into caller-provided storage (demonstrated with a back_inserter but meant for preallocated buffers), and returns a pair of iterators indicating progress. It forbids the function to allocate so there is no dynamic allocation inside, trades raw throughput for bounded latency, and proves it can finish the same work across multiple 60Hz cycles without breaking the display deadline.
AI-written summary · about
chapters (7)
- 0:00Introduction and real-time challenges
- 10:16Understanding run-length encoding
- 21:10Choosing pixel representation in C++
- 30:32Designing divisible algorithms
- 40:44Implementing divisible RLE compression
- 48:24Real-time system integration
- 51:14Q&A on coroutines and allocation
related talks
01h 00mMoving Faster: Everyday efficiency in modern C++
01h 27mPowerful Data Processing Pipelines with C++20 Coroutines
05mMaximising Throughput & Minimising Latency in High-Performance C++ Code
01h 07mEmploying Modern C++ for High Performance Delta-Coding Compression
01h 24mEasy Senders/Receivers
01h 35mC++ Electronic Trading for Cpp Programmers
01h 03mReal-time Safety — Guaranteed by the Compiler!
01h 24mOptimising a small real-world C++ application
