Git协议迎来重大更新,性能大幅提升
极客时间编辑部
讲述:丁婵大小:918.08K时长:01:58
近日,来自 Git 团队的布兰登·威廉姆斯(Brandon Williams)在博客上宣布正式推出 Git 协议版本 2,这是对 Git 线路协议(wire protocol)的一个重大更新。
该协议明确规定了在客户端与服务器之间如何传输克隆(clone)、拉取(fetch)和推送(push)。此次更新移除了 Git 协议中最低效的部分,修复了一个扩展性瓶颈问题,并为未来更多的线路协议改进提供可能性。
据介绍,此次新版本的主要改进还包括:
服务器端的引用过滤。
扩展新特性变得更容易。
简化 HTTP 客户端处理。
新版本协议的主要目标是支持服务器端的引用(分支和标签)过滤。在协议版本 2 之前,服务器在向 fetch 命令做出响应时,会列出仓库中所有的引用。即使客户端只想更新单个分支,服务器端也会向它发送整个引用清单。
对于包含成千上万个引用的仓库,比如 Chromium 仓库就有超过 50 万个分支和标签,服务器可能会发送数十兆字节的数据,而这些数据最终将被忽略。这通常会浪费时间和带宽,特别是在更新只包含少量提交的远程分支时,或者只想检查代码是否是最新的时候。
Git 团队最近为谷歌提供协议版本 2 支持,他们发现,使用新版协议之后,在包含 50 万个引用的仓库中,单个分支 fetch 操作的性能提高了 3 倍。新版协议还将从 googlesource.com 服务器发送出来的字节数减少到原先的八分之一。这项改进要归功于服务器端对引用进行了过滤,只返回客户端需要的引用。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论