Как попробовать?
ast-index rebuild --experimental-fast-rebuild
Недавно позвали на одну из внутренних встречек рассказать про ast с метричками и всяким подобным, в итоге ребята накидали разные идеи + увидели что условный проект 250К файлов индексируетс за 400-500 секунд и это как-то долго выходит.
В общем сел вечером и начал изучать, а где вообще проблема в скорости и что можно сделать? Тут сразу нашел узкое место это запись батчей в sql базу + скорость волкера по дереву файлов и разные не большие оптимизации с транзакциями в базу.
В общем ускорение на проекте в 32 К файлов до 11 секунд, я еще сел и подумал, а что если можно еще ускроить?
И в общем начал пробовать, потом запустил индексацию огромного проекта и где-то после его половины, на такой скорости я загнал мак в ребут. 🫠
Ошибся, но где?
Дальше буду отдельно еще изучать перфоманс, в данном случае погубила жадность))
В общем понял, что лучше под экспериментальным флагом иметь стабильную реализацию безопасную и после этого откатился до ускорения в 3.6 раза
А зачем вообще это ускорение?
На проектах в 30К файлов будто не сильно важно, но ребята приходят с тем, что хотят работать из корня репозитория своего БЮ и индексировать сразу все, такие дела)
Пробуйте фичу, должно быть полезно прям на огромных проектах. Ну и сильно приятнее с индексацией проектов на 10-30 К файлов за считанные секунды.
