- 主题:这么多年过去了,选 ET 还是 LT 有定论吗?
- AIO 快熟了。
 
 
 【 在 poocp 的大作中提到: 】
 : 这么多年过去了,Linux还没有新的网络IO模型嘛?
 --
 FROM 218.76.62.*
 
- 我查了一下我很久以前写的model, 用的是ET,当时看文档说ET性能更好,然后就用了, 的确花了些时间去理解这种mode, 但没有想像中难。 性能上也没感受到多大收益
 --
 FROM 101.86.21.*
 
- 只要一日不实现真正的内核线程池,Linux就不可能有真正的异步IO
 
 【 在 poocp 的大作中提到: 】
 : 这么多年过去了,Linux还没有新的网络IO模型嘛?
 --
 FROM 114.250.20.*
 
- 内核只要纯异步就行了。不需要线程池。
 
 【 在 marxn 的大作中提到: 】
 : 只要一日不实现真正的内核线程池,Linux就不可能有真正的异步IO
 --
 FROM 117.24.94.*
 
- 没有内核线程池就没有纯异步。
 
 【 在 hgoldfish 的大作中提到: 】
 : 内核只要纯异步就行了。不需要线程池。
 :
 --
 FROM 114.250.20.*
 
- go语言底层网络库用的ET
 
 
 【 在 Naory 的大作中提到: 】
 : 用 epoll 的时候,所谓的「边缘触发」和「水平触发」。我咋觉得这 2 个没有 ...
 --
 FROM 113.118.112.*
 
- 在用ASIO重写一个libev的程序的时候,我感觉,当前的同步非阻塞,很多时候其实比完全的异步要更好用
 
 当你需要通过写的结果来控制上层逻辑的时候,异步写会很别扭
 
 同步非阻塞写的时候,你立刻就知道写的结果,这个结果可以立刻反馈回上层控制逻辑
 
 而且,除非有减少数据在内存中拷贝次数的改进,否则, 异步读写只是一个朝三暮四的问题,读写本身必要付出的代价都要付,区别只在于帐记在谁的头上,是用户头上,还是内核头上,还是二者分担
 
 【 在 speedboy2998 的大作中提到: 】
 : AIO 快熟了。
 :
 --
 FROM 123.168.94.*
 
- 没写习惯而已。
 
 我从接触网络变成开始就是写 IOCP,用回调处理异步结果,导致我现在对协程,对 LAMBDA 做回调非常不适应。
 
 【 在 wallyz 的大作中提到: 】
 : 在用ASIO重写一个libev的程序的时候,我感觉,当前的同步非阻塞,很多时候其实比完全的异步要更好用
 : 当你需要通过写的结果来控制上层逻辑的时候,异步写会很别扭
 : 同步非阻塞写的时候,你立刻就知道写的结果,这个结果可以立刻反馈回上层控制逻辑
 : ...................
 --
 FROM 218.76.62.*
 
- 是的,考虑是不是要加 EPOLLONESHOT 这个点,
 
 在真的决心用 ET 的时候肯定是要注意的
 
 【 在 wallyz 的大作中提到: 】
 : 其实关于ET,可能存在两种理解,
 : 一种理解是:
 : ET的POLLIN只在数据从无到有触发,而ET的POLLOUT只在BUFFER从满到不满触发,换言之,在已经有数据,然后又收到一些数据的时候,应该不触发ET POLLIN,而BUFFER的空间从小变大(比如TCP收到了ACK)的时候,也不应该触发ET的PULLOUT,至少Linus Torvalds是这么认为的,但是实际
 : ...................
 --
 FROM 101.71.39.*