Addressing performance bottlenecks in the , Microsoft has introduced , a set of tools and extensions for Windows and MacOS users that helps Git scale.
Scalar is a C# application that accelerates Git command performance by setting recommended configuration values and running background maintenance. By running
scalar register in a Git repo, the following Git features are enabled:
- Sparse checkout to limit the size of a working directory.
- File system monitoring to eliminate the need for Git to scan an entire work tree.
- Multi-pack indexing to allow fast object lookups across many pack-files.
- Commit-graph to accelerate commit walks and reachability calculations, speeding up commands such as
Microsoft developed Scalar to address Git’s struggles when managing growing amounts of data. Microsoft has used , formerly the GVFS network protocol, which uses a virtualized file system to help Windows developers use Git with very large repositories. While using VFS for Git, Microsoft identified performance bottlenecks using a trace system and collecting user feedback. The results led to several contributions to the Git client including improvements to . Building on these contributions, Microsoft began a project to support very large repositories without needing a virtualized file system. Scalar was the result of those efforts.
Scalar is a application . Repos cloned with the
scalar clone command use GVFS to reduce the amount of data needed to start a repository. By delaying blob downloads until absolutely necessary, Scalar lets users work quickly with very large repositories.