Algorithm Design For Values Distributed In Time
summary
Library shows concrete algorithms for values distributed in time implemented in RxCpp style: copy_if, last_or_default, take (early cancel), delay with FIFO scheduling, scan, merge and concat, and a virtual time test scheduler that speeds marble tests. Examples run in Emscripten and WinRT GUIs; co_await makes transform/concat simple but merge is hard with co_await and required ~200 LOC. Lifetime objects, cancellation, per-expression allocation, and scheduler abstractions are built; basic performance composes to zero-cost but scheduling/lifetimes add overhead and cause heavy template instantiation.
AI-written summary · about
chapters (10)
- 0:00Introduction and speaker background
- 3:14Values distributed in time vs space
- 8:19Real-world examples of time-based algorithms
- 15:40Requirements for time-based algorithms
- 21:00Lifetime and cancellation in algorithms
- 26:03Scheduling and virtual time for testing
- 33:17Co-routines and C++20 support
- 37:18Q&A: DAGs and performance
- 48:44Q&A: Branching and large DAGs
- 53:25Q&A: Compiler issues and alternatives
related talks
38mCuring your event processing blues with Rx
37mStreaming and event-based programming using FRP and RxJS
38mTesting and Time and Concurrency With Rx.NET Schedulers
42mConquering Time with Functional Reactive Programming
41mLearning Rx by example
01h 10m“Reactive Stream Processing in Industrial IoT using DDS and Rx.cpp”
38mBending time with Schedulers and RxJS 5
36mSwift & ReactiveX – Asynchronous Event-Based Funsies with RxSwift
