Rust Glancer: Rust LSP using 100x less RAM
Rust Glancer — альтернативный LSP для Rust, разработанный с фокусом на минимальное потребление памяти. Проект реализует полноценный индексирующий движок с поддержкой типовой инференции, trait‑solver (chalk) и большинством стандартных LSP‑действий: переход по определению, подсказки, автодополнение. Ключевая особенность — возможность поддержания индекса после перезапуска, что устраняет повторную индексацию и экономит время. На тестах на MacBook Pro M1 (2020, 8 ГБ RAM) среднее время индексации составило 6 секунд против 7 секунд у rust‑analyzer, а использование RAM оставалось ниже 100 МБ.
В отличие от rust‑analyzer, который опирается на salsa‑базу и rowan‑дерево, вызывающие значительные накладные расходы на память из‑за инкрементального хранения и фрагментации, Glancer использует собственный engine‑as‑subprocess‑model, выравнивает жизненные циклы выделений и шардирует кэш, что позволяет сократить фрагментацию и держать отпечаток памяти в узком диапазоне. Планируется дальнейшее ускорение, улучшение поддержки синтаксиса и расширение функций (code actions, более точная типовая инференция, ограниченный proc‑macro‑подход). Пока проект находится в стадии «daily‑driver», но уже доступен через VS Code‑extension и готовый к самостоятельной установке.