Paul Krill
Editor at Large

Microsoft’s Scalar speeds up Git

news
Feb 18, 20202 mins

Free open source app for Windows and macOS accelerates Git commands for large repositories

command line
Credit: Thinkstock

Addressing performance bottlenecks in the Git distributed version control system, Microsoft has introduced Scalar, 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 git log.

Microsoft developed Scalar to address Git’s struggles when managing growing amounts of data. Microsoft has used VFS for Git, 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 git push. 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 .NET Core application installable on Windows or MacOS. 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.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author