本文主要是介绍Go游戏服务器开发的一些思考(四十):cstruct-go与gogoprotobuf,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
初次基准测试
可以看到,cstruct-go比gogoprotobuf慢600+ns
于是,github上,看了下gogoprotobuf代码
发现,主要区别在于对slice的用法上
append vs make(,fixedsize)
对照下,发现
gogoprotobuf对slice做的2件事:
- 在encode只做了一次make内存分配
- 在decode对每个slice类型,只做一次make内存分配
cstruct-go对slice操作:
- 每次均是append操作
于是,仿照gogoprotobuf对cstruct-go做了对应的调整。
再次基准测试
这篇关于Go游戏服务器开发的一些思考(四十):cstruct-go与gogoprotobuf的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!