Git ускорил удаление ссылок на 18%, переписывая packed-refs без лишнего форматирования
Optimizing Reference Deletions in Git
В Git ссылки хранятся либо как отдельные файлы, либо в одном packed-refs, который при каждом удалении перезаписывается целиком — на больших репозиториях это медленно. Автор переписал files backend на Rust и обнаружил, что тот быстрее C, потому что копирует неизменённые записи дословно, а не пересобирает их через fprintf. Тот же приём в C дал ускорение на 18%; патч уже в master и войдёт в Git v2.98.
Проблема кроется в дизайне files backend. Очевидное решение — постепенно переводить репозитории на новый reftable backend.