- 主题:阿里云存储团队开源了一款目前性能最高的C++协程库,欢迎了解
要是能支持windows就好了,用了什么Linux特别的api了吗
如果可以支持的话还是呼吁支持一下
类似需求,我现在都用golang+grpc来实现了,不过编译出来的程序是真的大
【 在 overcoming 的大作中提到: 】
: 后面会有独立的网站,来展示文档。
: 但是Windows可能是不会去支持了。
: rpc设计成这样也是为了性能,rpc整个IO路径是零拷贝的。
: ...................
--
FROM 124.126.202.*
SwitchFiber某个大型软件用过好多年的, 10年前他们把这个去掉了, 因为微软不打算支持这个函数了.
【 在 hgoldfish 的大作中提到: 】
: 只有协程,其实根本没用。linux c 的协程 getcontext()/swapcontext() 以及 win32 的 SwitchFiber() 已经出来二三十年了。根本没人用。
: 真正的协程库一般都需要把 nonblocking block 包装一下。不然很有真实的应用场景。
:
--
FROM 183.194.172.*
不是。协程是协程,线程是线程。
【 在 hgoldfish 的大作中提到: 】
: 它家那个 thread 就是协程吧?也没仔细看。例子就两个,还有一个是 rpc 感觉不好用。
: 如果是内部用还行,如果是给外部用,至少还缺少几个:
: 1. 完整的文档和例子。
: ...................
--
FROM 221.221.50.*
getcontext一族挺好用的,但是后来有些版本不支持了。
不过我有这个库源码。缺点是,与CPU密切相关,context的内容各自不同。
【 在 hgoldfish 的大作中提到: 】
: 只有协程,其实根本没用。linux c 的协程 getcontext()/swapcontext() 以及 win32 的 SwitchFiber() 已经出来二三十年了。根本没人用。
: 真正的协程库一般都需要把 nonblocking block 包装一下。不然很有真实的应用场景。
:
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*
函数调用也可以没有栈的,性能更高一些。谁会在那说“我这是有栈函数”,基础打的有问题
【 在 stub 的大作中提到: 】
: 那你来说说看
--
FROM 123.115.140.*
巨硬要移植其它 CPU 估计就不好支持啊。
这东东本来是语言环境应该提供的。比如 python, c# 都有自己的协程方案。
操作系统勉力为 C 语言解决这个问题不容易。碰到 c++ 异常很有可能出问题。
【 在 KnightZorro 的大作中提到: 】
: SwitchFiber某个大型软件用过好多年的, 10年前他们把这个去掉了, 因为微软不打算支持这个函数了.
--
FROM 112.47.122.*
我是从 boost context 的库里面抄了一些过来,但是新环境得移植,比如龙芯, riscv 都得用汇编写。
【 在 ylh1969 的大作中提到: 】
: getcontext一族挺好用的,但是后来有些版本不支持了。
: 不过我有这个库源码。缺点是,与CPU密切相关,context的内容各自不同。
--
FROM 112.47.122.*
协程干啥用?我认为只是一种任务调度的框架。
里边是要放应用逻辑的。你不知道会放啥。有些是第三方软件。人家怎么使用栈,你是不知道的。
【 在 leadu 的大作中提到: 】
: 函数调用也可以没有栈的,性能更高一些。谁会在那说“我这是有栈函数”,基础打的有问题
:
--
FROM 221.221.50.*
【 在 overcoming 的大作中提到: 】
: 后面会有独立的网站,来展示文档。
: 但是Windows可能是不会去支持了。
: rpc设计成这样也是为了性能,rpc整个IO路径是零拷贝的。
: ...................
这个协程切换耗时大概多少呢?我知道brpc的协程切换2到3us,跟linux 线程切换基本一样
--
FROM 123.112.18.*
【 在 stub 的大作中提到: 】
: 这个协程切换耗时大概多少呢?我知道brpc的协程切换2到3us,跟linux 线程切换基本一样
协程切换只是IO过程中的一部分,IO调度器的设计也决定了最后的性能指标。我们的性能对比测试里面有几个C++20的项目,切换的是很快,但是性能不好。
如果你这里有brpc的echo server代码,可以发我一份,我来比较一下他两的性能。 欢迎在github上提issue
--
FROM 106.11.34.*