分享
libcsp: 一个 10 倍于 Golang 的高性能 C 语言并发库
shiyanhui · · 1739 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
libcsp是一个C语言实现的基于CSP模型的高性能并发库, 利用它你可以用C开发一些高性能项目.
特性:
- 支持多核
- 高性能调度器
- 编译时栈大小静态分析
- 高性能 Lock-free 通道
- 支持 netpoll 和 timer
Golang和Libcsp比较
// Golang // Libcsp
go foo(arg1, arg2, arg3) async(foo(arg1, arg2, arg3));
var wg sync.WaitGroup sync(foo(); bar());
wg.Add(2)
go func() { defer wg.Done(); foo(); }()
go func() { defer wg.Done(); bar(); }()
wg.Wait()
runtime.Gosched() yield();
chn := make(chan int, 1 << 6) chan_t(int) *chn = chan_new(int)(6);
num = <-chn chan_pop(chn, &num);
chn <- num chan_push(chn, num);
timer := time.AfterFunc(time.Second, foo) timer_t timer = timer_after(timer_second, foo());
timer.Stop() timer_cancel(timer);
Github: https://github.com/shiyanhui/libcsp
文档: https://libcsp.com
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1739 次点击 ∙ 1 赞
上一篇:验证码绕过漏洞
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
libcsp是一个C语言实现的基于CSP模型的高性能并发库, 利用它你可以用C开发一些高性能项目.
特性:
- 支持多核
- 高性能调度器
- 编译时栈大小静态分析
- 高性能 Lock-free 通道
- 支持 netpoll 和 timer
Golang和Libcsp比较
// Golang // Libcsp
go foo(arg1, arg2, arg3) async(foo(arg1, arg2, arg3));
var wg sync.WaitGroup sync(foo(); bar());
wg.Add(2)
go func() { defer wg.Done(); foo(); }()
go func() { defer wg.Done(); bar(); }()
wg.Wait()
runtime.Gosched() yield();
chn := make(chan int, 1 << 6) chan_t(int) *chn = chan_new(int)(6);
num = <-chn chan_pop(chn, &num);
chn <- num chan_push(chn, num);
timer := time.AfterFunc(time.Second, foo) timer_t timer = timer_after(timer_second, foo());
timer.Stop() timer_cancel(timer);
Github: https://github.com/shiyanhui/libcsp
文档: https://libcsp.com