APP下载

微软释出Scalar加速开发者操作大规模Git储存库

消息来源:baojiabao.com 作者: 发布时间:2026-07-27

报价宝综合消息微软释出Scalar加速开发者操作大规模Git储存库

微软释出一个能加速Git工作流程的专案Scalar,Scalar是一个.NET Core应用程序,无论开发者使用的储存库大小,都能有效提升Git指令执行效率。Scalar中许多技术源自于微软VFS for Git专案,未来微软计划要把Scalar中的功能,直接贡献进Git专案。

Git是一个分散式版本控制系统,因此在预设情况下,每个Git储存库都具有历史纪录的完整档案副本。微软提到,即便是中等规模的团队,可能也产生了数千次的提交,储存库每个月增加数百MB的档案,而随着储存库容量增加,Git运作可能越来越不顺畅。

而等待git status以回报修改的文件,或是用git fetch取得最新的资料,都变成浪费时间的事,微软表示,当这些指令执行速度越来越慢,开发者就不会想等待,并且开始切换上下文,而上下文切换会伤害开发者的生产力。

微软内部有像是Windows操作系统这种超大型的储存库,为了克服这个问题,微软开发了VFS for Git,能够以虚拟化档案系统,绕过许多储存库大小的假设,使得Windows开发人员能以极具规模的方式使用Git。

在开发VFS for Git的时候,微软发现了一些效能瓶颈,因此对Git客户端做了一些改进,包括提交图(Commit-graph)档案、改进Git推送和稀疏签出(Sparse Checkout)等,基于这些贡献,微软进一步开发了新专案Scalar,在不需要虚拟档案系统下,就能支援非常大型的储存库。

Scalar本身是一个.NET Core应用程序,可以安装于Windows和macOS,Scalar透过设定建议配置值以及执行背景维护,以最大化Git指令的效能,无论开发者使用什么服务来托管储存库,Scalar都能有效的加速Git指令。微软提到,只要在Scalar中注册最大的储存库,就能马上感受到Git执行速度大幅提升。

微软接下来的计划,是要把Scalar中加速Git的方法,直接搬到Git专案中,最终目的是让开发者不需要Scalar,光使用Git客户端就能获得这些效能改进。不过,要达成这个目标,仍然有一大段路要走,微软提到,目前稀疏签出是Scalar用来应付规模扩张的方法,尽管Git最近更新稀疏签出功能,使得该功能更容易使用,但是要达完整功能的阶段,还有一段距离。

Scalar目前使用稀疏签出而非虚拟档案系统,因而在执行Git命令上存在瓶颈,特别是git checkout的速度不及VFS for Git,微软正在研究平行化git checkout,以提高执行效能。微软提到,要真正扩展Git规模服务数万名开发者,并且建置与中央服务器互动的机器,这需要类似快取服务器的概念,微软很快就会在Git社群提出这个概念。

另外,目前Git客户端储存库之所以能顺畅的执行,是仰赖定期执行的前台垃圾回收器,但微软提到,对于大型储存库来说,这是不可行的方法,因此微软计划要在Git客户端中加入某种形式的后台维护功能,以类似git maintenance start指令,提供像是Scalar注册器般的功能。

2020-02-17 10:51:00

相关文章