Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Microsoft open source Scalar increases the speed of operating giant Git repositories

2025-02-22 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Computer Software News >

Share

Shulou(Shulou.com)05/31 Report--

Git is a distributed version control system, and by default, each Git repository has a complete copy of the entire history. Even medium-sized development teams generate thousands of submissions, adding hundreds of megabytes of data to the warehouse every month. With the increase of the space occupied by the warehouse, it is difficult for Git to manage all the data, which makes it run more and more unsmoothly. In this way, the developer's time is wasted waiting for feedback after executing the command, such as using git status to get the modified file or using git fetch to pull the code locally. Due to the long waiting time, most developers tend to switch to another task and switch back after the command has been executed. This way of switching tasks back and forth often reduces the productivity of developers.

Microsoft obviously has a lot of experience dealing with giant Git repositories. After all, the code of the Windows operating system is managed by Git. In order to overcome the above problems, Microsoft developed VFS for Git (formerly known as GVFS). This project uses virtual file systems to bypass many warehouse size restrictions, so Windows developers can use Git normally before such a large project.

While developing Vit for Git, Microsoft identified performance bottlenecks by using a custom tracking system and collecting user feedback. During this period, Microsoft has also contributed some code to Git clients, including the Commit-Graph feature and improvements to git push and sparse checkout. Based on these contributions and many other recent improvements to Git, Microsoft has launched a project to support giant Git repositories without the need for virtual file systems. This is the background of the birth of Scalar.

Scalar is a. NET Core application written in C # that only supports running on Windows and macOS platforms. Scalar maximizes the performance of Git commands by setting recommended configuration values and running background maintenance. No matter what service developers use to host code repositories, Scalar can effectively speed up Git instructions. Microsoft mentioned that as long as you use Scalar to register the largest code repository, you can immediately feel a big increase in the execution speed of Git.

For the future of Scalar, Microsoft hopes to contribute to Git. Microsoft plans to incorporate the method of accelerating Git in Scalar directly into the Git project, so that developers do not need Scalar, but can only use the Git client to achieve these performance improvements. However, there is still a long way to go to achieve this goal. Microsoft mentioned that sparse checkout is currently used by Scalar to solve the problem of growing warehouse size, and although Git recently updated the sparse checkout feature to make it easier to use, it is still a long way from providing full functionality.

Scalar currently uses sparse checkout instead of virtual file systems, so there will be bottlenecks when executing Git commands, especially when git checkout is not as fast as VFS for Git. Microsoft is working on a parallel version of git checkout to improve execution performance. Microsoft mentioned that in order to truly extend Git services to meet the needs of thousands of engineers and to build machines that interact with central servers, Git needs to provide concepts similar to GVFS caching servers. They also say they plan to put the idea on the mailing list soon.

In addition, the current smooth execution of Git client repositories depends on the foreground garbage collector that is executed on a regular basis, but Microsoft mentioned that this is not a feasible approach for giant repositories. So Microsoft plans to add some form of background maintenance to the Git client, similar to the git maintenance start command, and as easy to use as scalar register.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Computer Software News

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report