I already tried to use Boost.Coroutine but the overhead is very high. Now, I would like to perform an evaluation of two approaches, seems that the use of Boost.Context (without coroutines) is faster.
a context switch with bosot.context takes 8 ns while boost.coroutine requires 10 ns