轻量级线程切换效率

同事测试了libcoro,它的linux版本可以使用4种模式,切换效率分别为:


asm: 50,000,000 switch/s
setjmp/longjmp: 42,000,000 switch/s
ucontext: 2,400,000 switch/s
pthread: 50,000 switch/s

asm版本保存的寄存器比较少,居然达到了5千万次每秒,可能和测试时线程数较少有关,不过也足够高了,准备再测试一下大量线程切换效率,再把现有项目换上去测试一下~

你可能感兴趣的:(linux)