libaco
A blazing fast and lightweight C asymmetric coroutine library
...Along with the implementation of a production-ready C coroutine library, here is detailed documentation about how to implement the fastest and correct coroutine library and also with strict mathematical proof. It has no more than 700 LOC but has the full functionality which you may want from a coroutine library. The benchmark part shows that a context switch between coroutines only takes about 10 ns (in the case of the standalone stack) on the AWS c5d.large machine. User could choose to create a new coroutine with a standalone stack or with a shared stack (could be shared with others). ...