241 karma · joined January 18, 2014
The results surprised him. Initial benchmarks confirmed his suspicion that coroutines performed poorly, but after applying optimizations like a recycling allocator, performance improved dramatically. Under more realistic, higher-abstraction scenarios, coroutines actually beat ASIO - because composed operations built from nested operation states accumulate costly move constructions and memory copies as structs grow, while a coroutine handle remains just a pointer. What began as a mission to discredit coroutines became the foundation for two new libraries.
https://github.com/cppalliance/corosio https://github.com/cppalliance/capy
Presentation and associated material:
https://github.com/boostorg/boost_unordered_benchmarks/tree/...
Video: https://youtu.be/yOo6GnbKzp8
Presentation: https://github.com/joaquintides/usingstdcpp2024/raw/main/Per...
http://bannalia.blogspot.com/2014/01/a-better-hash-table.htm... http://bannalia.blogspot.com/2014/01/a-better-hash-table-gcc... http://bannalia.blogspot.com/2014/01/a-better-hash-table-cla...