Microsoft is revealing the performance results it has seen in its effort to scale Git on Visual Studio Team Services with its Git Virtual File System (GVFS). The company first released the Git Virtual File System in February in an effort to scale Git to large projects and teams.
In May, the company announced it had created the “largest Git repository available,” but still had a way to go in terms of performance.
“The top issue is performance, and I want to drill into that. We knew when we rolled out Git that lots of our performance work wasn’t done yet,” Brian Harry, a technical fellow at Microsoft, wrote in a post at the time.
To address this, Microsoft added a round of performance improvements known as O(modified), which improved performance significantly, according to Harry.
Today, the company has officially rolled out O(modified) improvements throughout the Windows team and can report back results from real daily usage instead of the previous synthetic test results.
“This reflects typical developer usage with typical enlistment sizes, real world changes, etc. It is taken from telemetry that is collected from every engineer for every command they run,” Harry wrote.
According to Harry, the GVFS improved by 20-30 percent with O(modified) in some instances, and between 50-60 percent to even 90 percent in other instances.
“In general, one of the effects of the O(modified) changes is to substantially shorten the ‘tail’ or the variability of commands – making them faster and much more consistent,” Harry wrote. “I always use git status as my barometer of performance. A lot of commands matter but more than any other, status is one that you don’t expect to wait for. The O(modified) improvements really shine I didn’t show it but the 50th percentile for status is under 3 seconds. My personal goal is to get the 50th percentile down to 1 second. I’ll feel super proud if we are able to do that but regardless, the results already are quite amazing.”
Going forward, Microsoft plans to continue to add improvements. Ongoing work and improvements can be found available here.