Microsoft представила виртуальную файловую систему для Git

Разработчики из Microsoft столкнулись с проблемой масштабирования Git: как оказалось, приложение не в состоянии работать с очень крупными репозиториями. Так, например, исходные коды Windows содержат 3,5 миллиона файлов, которые в сумме весят более 270GB.

В одном из крупных проектов операция clone выполняется 12 часов, checkout — 3 часа, status — 8 минут, commit — 30 минут. Поняв, что так работать невозможно, Microsoft создала слой виртуализации файловой системы для Git, который позволяет Git думать, что файлы находятся на месте, но подгружаются они только тогда, когда реально нужны.

С помощью этого метода удалось ускорить clone в 144 раза, checkout в 360 раз, status в 120 раз, commit в 140 раз.

Исходный код проекта опубликован на Github.

 filesystem, git, microsoft, performance

©  Linux.org.ru