Finally Executors for C++
summary
Proposal consolidates multiple designs into a usable executor model: a unified interface with six core operations (single/two-way, bulk, and blocking variants) plus require/prefer properties to express behavior and performance hints, and adapters to emulate the old 16-function API. Implementations (Chris Kolovos/others on GitHub) include an inline executor, a logging wrapper and a working data‑concentrator example, so the model is experimentally viable. Outstanding issues are futures semantics, cross‑executor synchronization, and binary vs template polymorphism; execution context vs executor and not in C++20, likely C++23 remain key decisions.
AI-written summary · about
chapters (26)
- 0:00Intro
- 0:53Kona Compromise
- 3:01Motivation: async
- 5:28Motivation: Pipelines
- 7:26Motivation: Parallel STL
- 8:02Executor Requirements
- 8:47Original Executor Interface
- 9:56Default Executor
- 10:07Concrete Executors
- 11:54Mission Accomplished
- 12:29Abstract Base Class
- 14:04Executors and Async Ops
- 15:28Customization Points
- 19:39Executors (R6)
- 21:01Executor Traits
- 23:45Layers
- 26:03Performance
- 28:06Data Concentrator
- 33:56Proposal Status
- 38:31ASIO With Coroutines
- 41:19Joint Proposal
- 43:18New Executor Interface
- 46:52bulk_twoway execute
- 54:24Executor Properties
- 57:06require/prefer
- 59:43One-Way Executions








