此版本主要增加stackless协程模块以及为嵌入式平台增加micro微模块编译(~64K)。
此stackless协程模块比之前的stackfull协程实现更加的轻量高效,切换效率提升5、6倍,在macosx上测试1000w次切换仅需40ms
当然易用性和灵活性上,还是stackfull模式更有优势(tbox两种模式都已支持,接口类似)。
stackless协程使用见:stackless协程使用文档
stackfull协程使用见:stackfull协程使用文档
更多协程服务器demo实现,请参考:协程examples
新特性
针对协程上下文切换,支持mips架构
添加__tb_thread_local__关键字宏
添加
继续阅读 »
说明
本文只记录macOSX系统,其它系统参考官网
more
安装
HomeBrew安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install node
安装包
官网下载最新安装包即可
更新
HomeBrew安装的node
brew upgrade node
其它方式安装的node
使用node的包管理工具n
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
继续阅读 »
在分析了各大开源协程库实现后,最终选择参考boost.context的汇编实现,来写tbox的切换内核。
在这过程中,我对boost各个架构平台下的context切换,都进行了分析和测试。
在macosx i386和mips平台上实现协程切换时,发现boost那套汇编实现是有问题的,如果放到tbox切换demo上运行,会直接挂掉。
在分析这两个架构上,boost.context切换实现问题,这边先贴下tbox上的context切换demo,方便之后的讲解:
继续阅读 »