我目前经常分配新的协程实例(参见我的答案here中的代码)。
这样做的开销不是微不足道的。
我猜有一些方法可以通过重用之前分配的协程来降低成本?
不确定如何实现这一点?
我可以为协程Allocator使用boost::pool。然而,这不适用于StackAllocator,这是一个昂贵的…
发布于 2014-06-10 15:02:13
协程包含一个堆栈和一个控制块(保留的寄存器,放在堆栈的边缘)。您不能重用协程本身,但您可以编写自己的堆栈分配器,它预先分配和缓存堆栈。新创建的协程可以重用缓存中已分配的堆栈。
https://stackoverflow.com/questions/24108030
复制相似问题