История на миллион коммитов: как мы работаем с графом истории в Arc VCS
30 ноября, 17:00, «Сан-Паулу»
Целевая аудитория
- разработчики и инженеры, активно работающие с репозиториями и trunk‑based development - SRE и инфраструктурные инженеры, которым интересны вопросы производительности VCS, оптимизации алгоритмов и работы с огромными объёмами истории коммитов - архитекторы и техлиды, которые проектируют процессы разработки и выбирают инструменты - исследователи и энтузиасты алгоритмов — аудитория, которая ценит реальные кейсы, «боль» на больших объёмах данных и практические выводы из опыта крупной компании.
Тезисы
В Яндексе активно используют монорепозитории и trunk‑based development — это ускоряет разработку: ежедневно в trunk вливают до 10 000 коммитов, а общая длина ветки превысила 21 миллион коммитов.
Масштабы выявили ограничения классических алгоритмов (в том числе из git) — пришлось адаптировать и оптимизировать подходы. В докладе расскажу, как мы ускорили работу с историей в Arc VCS на трёх уровнях: 1) лог коммитов: отказ от классического BFS и его оптимизация; 2) история файла: три реализации индекса и сравнение с решениями из svn и git; 3) blame: создание индекса для отображения авторства каждой строки.
Вы узнаете, как устроены привычные инструменты, где упираются в ограничения по производительности и как их можно ускорить. Покажу одну из самых старых строк в кодовой базе Яндекса — пример кода, который живёт без изменений уже 20 лет.
Спикеры

Yandex Infrastructure


