Back To Schedule

Towards Async Everything Part 1

Senders as the Lowest Layer

14:30 - 16:00 Monday 4th May 2026 MT Flug Auditorium
Advanced
Concurrency

Asynchronous I/O in C++ is typically expressed as high-level operations such as reads and writes, while their implementations are hidden behind a library or framework. This separation introduces both conceptual and performance overheads. The structure of the implementation may differ from the structure of the API, and the API itself may impose intrinsic performance pessimization.

This talk explores an alternative: High-level operations which are the same in form as the lower-level operations they are implemented in terms of. Using io_uring as a motivating example, it walks through the implementation of low-level primitives directly in std::execution, which can then be composed into higher-level operations using asynchronous algorithms.

Submission queue management, completion handling, and coordination with the kernel are modeled as senders and composed uniformly. The result is an abstraction that is closed under composition all the way down to the kernel boundary, allowing the entire I/O stack to be expressed within a single model without additional abstraction cost.

View Slides

Robert Leahy

Core DeveloperHudson River Trading

Robert is a graduate of the University of Victoria where he specialized in graphics, gaming, and digital geometry processing. After spending 4.5 years in full stack web development he pivoted to financial infrastructure in late 2016 whereafter he spent nearly nine years at a start up working on next generation financial market data storage and retrieval mechanisms. In 2019 he became involved in the ISO C++ committee with a particular focus on library evolution. Since summer 2025 he has worked as a core developer at Hudson River Trading.