当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
734 Star 1.4K Fork 212

talent-tan / talent-aio
关闭

 / 详情

请教下

已完成
创建于  
2017-01-05 10:26

之前看过很多java nio和aio的文章,自己也简单的写过些helloworld,体验了下,从原理上看,aio应该是很不错的,但是netty的开发者在4.X中曾经基于aio写过实现,但是很快就弃用了,给出的原因是性能上并没有提高,而且增加了编程的复杂度,还容易出现莫名其妙的问题。请问下,这个情况,你是怎么看的,是不是真的从综合上来看,nio还是要比aio要好一些呢

评论 (4)

sd4324530 创建了任务

有句话: 纸上得来终觉浅,绝知此事要躬行 。放在这里很合适。以下观点完全是个人观点,不代表权威。

  1. netty作者也是人,不是神,他的水平也不代表最顶尖的水平,所以他的行为不应该被神化
  2. 先不说性能,单说aio增加了编程复杂度,纯粹子虚乌有,aio做了很多nio没有做的事,留给开发人员的api明显要简单得多(talent-aio的核心代码也就是4000行左右,还集成了发送心跳、检查超时等额外业务的功能)。
  3. 对于性能,本人只说一下talent-nio和talent-aio的性能差异:前者当时跑了4万TCP连接,每秒处理20万条消息,而talent-aio在i7的机器上可以跑到7.5万TCP长连接,每秒处理138万条消息。这么一看talent-aio明显要强很多, 但这并不说明aio在性能上就要强于nio,最终还是要看使用的人
  4. talent-nio从2011年就跟随我,2016年被我抛弃,所以我当然是觉得aio更好。
  5. 再强调一下:talent-aio大大强于talent-nio,不是说aio性能变强了,而是作者处理线程的能力已经得到了大大增强
  6. 额外补充一个个人观点:零拷贝和对象池对性能的提升,几乎可以忽略,网络性能最核心的是线程池模型和解码编码算法

你好,有机会能开源一下你的nio框架嘛!!!都想好好学习一下

nio不开源,因为代码还不够好

talent-tan 关闭了任务

好吧,期待你整理好后的nio代码。并开源。。非常感谢

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
355738 tywo45 1706075542 404329 uni7corn 1578922852 113628 pyinjava 1578918112
Java
1
https://gitee.com/tywo45/talent-aio.git
git@gitee.com:tywo45/talent-aio.git
tywo45
talent-aio
talent-aio

搜索帮助

344bd9b3 5694891 D2dac590 5694891