工作5年C++服务器,转GO的感触,GO服务器业余时间整理的,用时2个月,框架到细节

bobohume · · 21535 次点击
cyinx
开源游戏服务器框架 https://github.com/Cyinx/einx
8楼 <a href="/user/bobohume" title="@bobohume">@bobohume</a> &#34;channel本身内部有锁。不过效率比较高点&#34; 我不知道这个结论是怎么得出来的.锁就是锁,不同类型的锁可能性能有区别.但是消费者每次通过channel获取生产者数据,都需要经过锁.那么效率必定高不到那里去.channel如果能实现数据批量处理和队列不限长度,通过一次互斥操作来消耗大量生产者数据,那么锁的消耗就被拉平.或者以其他方式实现队列,比如类似于.NET framework的concurrentqueue采用segment加cas方式实现无锁.那么性能肯定会上去. 有一篇分析golang写的消息队列软件的文章.其中大量使用channel的那一款,性能也出现过瓶颈.
#10
更多评论
haoyupei
大道至简,始终如一
c++ 和lua这是个好模式啊
#2