这个是个CPU机制的设计?与之对应的是超线程?
这个不是协程库能做的吧?
【 在 MaLing 的大作中提到: 】
: 协程之间的切换是一个物理线程/进程内部,用户态进行上下文之间的切换。通常协程上下文用使用双向链表链接,其个数由程序员决定。协程切换(设定为yield_thread函数)的代价+ 跳转延迟大约在20个周期左右,L2 延迟在 12个周期,L3延迟基本在50个周期,内存延迟在100ns(3GHZ,300个周期 ), 所以我们在一个进程内部引入多个协程,例如15个协程?(15 *20 周期等于内存访问 300个周期)
: 数据会由于三种原因执行 yield_thread函数:
: 1. 在取指令之后,根据指令地址预测是否产生数据L2缓存缺失,如果预测缺失,允许当前指令继续运行,但是对于内存的操作改为prefetch, 协程再切回来后重新执行该指令。
: ...................
--
FROM 106.11.34.*