加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

解读 | TARS开源项目发布Go语言版本

发布时间:2018-09-24 02:10:10 所属栏目:Windows 来源:佚名
导读:【新品产上线啦】51CTO播客,随时随地,碎片化学习 Tars 是腾讯开源的一款微服务框架,它于去年 4 月份开源,并于今年 6 月捐赠给了 Linux 基金会。Tars 为用户提供了涉及到开发和运维的一整套解决方案,帮助一个产品或者服务快速开发、发布、部署、上线和

从下图可以看出,有相当大的一部分时间耗在了 slice 相关的操作上,原来在包的编解码过程中,使用 bytes.Buffer 进行临时存放,当 bytes.Buffer 底层用的 byte slice 大小不够的时候,就会分配一定的内存空间,频繁地分配效率很低,所以导致大包情况下性能下降比较明显。

解读 | TARS开源项目发布Go语言版本

联想到了 Redis 的内存模型和 Linux 的 slab 机制,对于频繁创建销毁的对象,采用预先创建和重复利用的方式。而 Go 本身提供了一种 sync.Pool 机制,供临时对象的复用,以减少 GC,Tars-Go 在此基础上,实现了类似 Linux slab 机制分配的 buffer 管理方案,通过这种方案,性能大幅提高。

其他方面的优化

解读 | TARS开源项目发布Go语言版本

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读