- 主题:粗粗测试了下, muduo和asio比起来并没有性能优势
是的,很多人不知道每个线程单独用一个 IO CONTEXT 所以在那里喷 ASIO.
【 在 KnightZorro 的大作中提到: 】
: asio只有一个要注意的点, 多线程的时候用多个io_context, 也就是说每个线程有自己的epoll对象, 这样多线程就不会有共用的数据结构了, 根本上避免了数据竞争.
: asio比muduo略快.
--
FROM 218.76.62.*
我在网上看到的是muduo作者说了,他不熟asio,用错了情有可原的,没必要太苛求
muduo作者网络编程水平极高的。至少比我高好多
【 在 speedboy2998 的大作中提到: 】
: 是的,很多人不知道每个线程单独用一个 IO CONTEX ...
--
FROM 39.144.105.*
以前 iocp 不要求每线程单独一个 iocp. 相反 iocp 还鼓励由 iocp 来帮助应用做线程负载均衡。
可能是用惯 IOCP 的人用 ASIO 的时候被误导了。
【 在 speedboy2998 的大作中提到: 】
: 是的,很多人不知道每个线程单独用一个 IO CONTEXT 所以在那里喷 ASIO.
--
FROM 183.253.146.*
直接调epoll,直接read write也并不需要多高的水平吧
我用asio是为了跨平台,还为了方便post lamda到目的线程去
其实用库本质上比调epoll还麻烦,每个库都有一些自己的臭脾气
【 在 KnightZorro 的大作中提到: 】
: 我在网上看到的是muduo作者说了,他不熟asio,用错了情有可原的,没必要太苛求
:
: muduo作者网络编程水平极高的。至少比我高好多
--
FROM 123.168.95.*
我也想这么喷,但是想了想,没敢
但是腹诽还是要的,
“只支持IPv4,不支持IPv6”
“只支持TCP,不支持UDP”
“不考虑广域网应用,只考虑局域网”
这算是个啥
【 在 philbloo 的大作中提到: 】
: muduo 就是个笑话 凭什么拿出来跟比人比性能 出了本书真是贻害千年啊
--
FROM 123.168.95.*
网络编程本身不简单,不是API使用的问题
【 在 weiwallz 的大作中提到: 】
: 直接调epoll,直接read write也并不需要多高的水平吧
我用asio是为了跨平台,还为了方便post lam...
--
FROM 183.192.127.*
这个不太理解,多个epoll有啥好处呢,单个io_context逻辑处理上处理好数据竞争也可以啊
【 在 speedboy2998 (极品飞车) 的大作中提到: 】
: 是的,很多人不知道每个线程单独用一个 IO CONTEXT 所以在那里喷 ASIO.
:
: 【 在 KnightZorro 的大作中提到: 】
: : asio只有一个要注意的点, 多线程的时候用多个io_context, 也就是说每个线程有自己的epoll对象, 这样多线程就不会有共用的数据结构了, 根本上避免了数据竞争.
--
FROM 111.205.82.*
这个io_context对象里面有个多线程访问的任务队列, 只要多个线程同时获取,就有额外的开销。
【 在 CRonaldo31 的大作中提到: 】
: 这个不太理解,多个epoll有啥好处呢,单个io_context逻辑处理上处理好数据竞争也可以啊
:
--
FROM 52.195.2.*
他这些经验是在大摩写外汇交易的后端时积累的吧
那些后端服务都是运行在数据中心内部,不需要跨广域网,也用不着udp,ipv6也用不着
【 在 weiwallz 的大作中提到: 】
: 我也想这么喷,但是想了想,没敢
: 但是腹诽还是要的,
: “只支持IPv4,不支持IPv6”
: ...................
--
FROM 123.112.22.*
最终都是要system call
真想快还得要专门得kernel bypass网卡。
【 在 KnightZorro 的大作中提到: 】
: asio只有一个要注意的点, 多线程的时候用多个io_context, 也就是说每个线程有自己的epoll对象, 这样多线程就不会有共用的数据结构了, 根本上避免了数据竞争.
: asio比muduo略快.
--
FROM 94.140.9.*