Skip to content
/ libco Public
forked from Tencent/libco

libco is a coroutine library that widely used in wechat . It has been running on tens of thousands of machines since 2013.

License

Notifications You must be signed in to change notification settings

tizzybec/libco

This branch is 73 commits behind Tencent/libco:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 13, 2016
fe25a8e · Oct 13, 2016

History

15 Commits
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 13, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016
Oct 12, 2016

Repository files navigation

#Libco ##Libco is a c/c++ coroutine library that is widely used in WeChat services. It has been running on tens of thousands of machines since 2013.

Author: sunnyxu([email protected]), leiffyli([email protected]), [email protected]([email protected]), sarlmolchen([email protected])

By linking with libco, you can easily transform synchronous back-end service into coroutine service. The coroutine service will provide out-standing concurrency compare to multi-thread approach. With the system hook, You can easily coding in synchronous way but asynchronous executed.

You can also use co_create/co_resume/co_yield interfaces to create asynchronous back-end service. These interface will give you more control of coroutines.

By libco copy-stack mode, you can easily build a back-end service support tens of millions of tcp connection.


##libco是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上。 作者: sunnyxu([email protected]), leiffyli([email protected]), [email protected]([email protected]), sarlmolchen([email protected])

libco通过仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll,可以支持同步或者异步的写法,如线程库一样轻松。同时库里面提供了socket族函数的hook,使得后台逻辑服务几乎不用修改逻辑代码就可以完成异步化改造。

同时提供协程变量机制辅助代码快速修改,并提供env族函数的hook以支持cgi轻松切换到协程模式,而新的共享栈模式(可选)轻松构建单机千万连接

About

libco is a coroutine library that widely used in wechat . It has been running on tens of thousands of machines since 2013.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 87.2%
  • C 8.1%
  • Makefile 3.3%
  • Assembly 1.4%