Проблемы с Гитом

Проблемы с Гитом

Проблемы с производительностью
Джошуа Редстоун однажды пожаловался на низкую производительность в репозитории на Facebook. Был создан синтетический репозиторий и провели тесты.
Итого:
4 миллиона коммитов с линейной историей и 1,3 млн файлов. Размер папки git – 15 гб.
Упаковка заняла 2 дня при наличии хорошей машины. Размер индексного файла – 191 мб.
Совершенно очевидно, что такая скорость мало кого порадует. Ниже результаты на сервере с обычным HDD и >10 ГБ RAM, при работе с горячи и холодным кэшем.
git status
39 минут с «холодным» кэшем, 24 секунды с «горячим» кэшем;

git blame
44 минуты и 11 минут;

git add (добавление пары символов в конце файла и добавление его)
7 секунд и 5 секунд;

git commit -m «foo bar3» —no-verify —untracked-files=no –quiet —no-status
41 минута и 20 секунд.
Результаты Facebook не устраивают. Для решения данной проблемы скорее всего выделить специальные сервера под Git дабы ускорить отдельные операции. Понадобиться либо переписать код, либо создать надстройку со скриптами.
Разработчики намекают, что было бы не плохо переписать Git. Впрочем сам Facebook делить репозиторий на мелкие части отказывается.

Comments are closed, but trackbacks and pingbacks are open.