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