C++2a coroutines are extremely powerful. As far as I am concerned, its the most important high-impact feature to be introduced in the langue together with lambdas and move semantics.
We will use c++2a coroutines to improve the performance of TANK, by moving potentially expensive tasks off the main reactor thread to thread pools, and by potentially switching to a different I/O design based on io_uring or something else where we 'll just suspend the current coroutine until the I/O operation is complete and the coroutine can be resumed.
C++2a coroutines are extremely powerful. As far as I am concerned, its the most important high-impact feature to be introduced in the langue together with lambdas and move semantics.
We will use c++2a coroutines to improve the performance of TANK, by moving potentially expensive tasks off the main reactor thread to thread pools, and by potentially switching to a different I/O design based on io_uring or something else where we 'll just suspend the current coroutine until the I/O operation is complete and the coroutine can be resumed.