千家信息网

微软开源Scalar 提升操作巨型Git仓库的速度

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,Git属于分布式版本控制系统,默认情况下,每个Git仓库都具有整个历史记录的完整文件副本。即便是中等规模的开发团队也会产生数千个提交,每个月向仓库添加几百兆的数据。而随着仓库的占用空间增加,Git难以
千家信息网最后更新 2024年11月28日微软开源Scalar 提升操作巨型Git仓库的速度

  Git属于分布式版本控制系统,默认情况下,每个Git仓库都具有整个历史记录的完整文件副本。即便是中等规模的开发团队也会产生数千个提交,每个月向仓库添加几百兆的数据。而随着仓库的占用空间增加,Git难以管理所有数据,导致其运行越来越不顺畅。如此一来,开发者的时间就会被浪费在执行命令后等待反馈的操作上,如使用git status获取被修改的文件,或者使用git fetch将代码拉取至本地。由于等待的时间过长,开发者大多会倾向于切换至完成另外的任务,待命令执行完成后再切换回来。而这种来回切换任务的工作方式常常会降低开发者的生产力。

  对于处理巨型Git仓库的问题,微软显然是颇有经验。毕竟Windows操作系统的代码就是使用Git进行管理,为了克服上述的问题,微软开发了VFS for Git(以前称为GVFS),此项目使用虚拟文件系统绕过了许多仓库大小的限制,所以Windows开发者在如此庞大的项目前也能正常使用Git。

  在开发Vit for Git的同时,微软通过使用自定义跟踪系统和收集用户反馈来确定性能瓶颈。在此期间,微软也为Git客户端贡献了一些代码,包括提交树(Commit-Graph)功能以及对git push和稀疏检出的改进。基于这些贡献以及其他许多对Git的近期改进,微软启动了一个项目--无需虚拟文件系统即可支持巨型Git仓库。这就是Scalar的诞生背景。

  Scalar是一个使用C#编写的.NET Core应用程序,仅支持在Windows和macOS平台中运行。Scalar通过设置所建议的配置值和运行后台维护来最大程度优化Git命令的性能。无论开发者使用什么服务来托管代码仓库,Scalar都能有效地加速Git指令。微软提到,只要使用Scalar为体积最大的代码仓库进行注册,就能马上感受到Git执行速度大的幅提升。

  对于Scalar的未来,微软希望将其贡献给Git。微软计划把Scalar中加速Git的方法直接合并到Git项目中,最终实现让开发者不需要Scalar,仅使用Git客户端就能获得这些性能改进。不过要达成这个目标,仍然有很长的路要走。微软提到,目前稀疏检出是Scalar用来解决仓库规模扩大的方法,尽管Git最近更新了稀疏检出功能,使得该功能更容易使用,但是要达到提供完整功能的阶段,还有一段距离。

  Scalar目前使用稀疏检出而非虚拟文件系统,因此在执行Git命令时会存在瓶颈,特别是git checkout的速度不及VFS for Git,微软正在研究并行版本的git checkout,以提高执行性能。微软提到,为了真正地扩展Git服务以满足成千上万的工程师的需求,并构建与中央服务器交互的机器,Git需要提供类似于GVFS缓存服务器的概念。他们也表示计划很快在邮件列表中提出这个想法。

  另外,目前Git客户端仓库之所以能顺畅地执行,是依赖定期执行的前台垃圾回收器,但微软提到,对于巨型仓库来说,这是不可行的方法。因此微软计划在Git客户端中加入某种形式的后台维护功能,类似git maintenance start命令,并像scalar register一样容易使用。

微软 仓库 开发 开发者 系统 代码 功能 命令 文件 稀疏 客户 客户端 性能 项目 服务 巨型 方法 切换 运行 速度 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 通信服务器供电输入与接地 出现网络安全事件被上级通报 网络安全使命迪普科技 国家网络安全有你有我有他 志华f21 是用什么数据库 数据库审计的网络拓扑 国网中台数据库 大连华宇软件开发面试题 摩尔庄园的天气和服务器有关系吗 计算机二级考试系统数据库 网络安全活动取得的成效 公安部交警网络安全平台 数据库 键 软件开发外包服务框架协议 caxa plm没有数据库 关系数据库中关系称为什么 台式电脑插服务器内存条用不了吗 银通融和网络技术有限公司 德州crm软件开发 网络安全形势及面临的威胁 泰安定制软件开发企业 软件开发人员怎么样 武穴锐轩网络技术服务中心 奉化手机软件开发公司价格 浙江腾朝互联网科技 商无界互联网科技有限公司 梦天游网络技术公司 app通过什么技术访问服务器 鹤壁库存管理软件开发 网络安全形势及面临的威胁
0