Rust Glancer es una implementación alternativa del Language Server Protocol (LSP) para Rust, desarrollada durante cuatro meses con el objetivo de reducir el consumo de memoria y permitir la reutilización del índice entre sesiones. Su consumo se sitúa por debajo de 100 MB en proyectos razonables y permite reanudar el trabajo sin reindexar tras reiniciar el editor. En pruebas comparativas con rust-analyzer sobre un MacBook Pro M4 Max (36 GB) y un MacBook Pro M1 (8 GB) de 2020, Rust Glancer completó la indexación base en 5-6 segundos y la indexación completa en 8-9 segundos, frente a los 6-7 y 13-14 segundos de rust-analyzer, respectivamente. La herramienta ya soporta la mayor parte de la sintaxis habitual de Rust, ofrece acciones LSP estándar como goto definition, hover, inlay hints y completions, e incorpora un pipeline de indexado con inferencia de tipos y resolución de traits mediante chalk. Su estrategia se basa en un análisis congelado del workspace, cuyos resultados se serializan al sistema de archivos y solo se cargan en memoria cuando una consulta los necesita, lo que reduce el uso de RAM pero introduce ciertos compromisos en la reactividad frente a rust-analyzer, que emplea un modelo incremental con salsa y rowan. El autor plantea que ambas herramientas pueden convivir: rust-analyzer seguirá siendo la opción para quienes busquen máxima completitud y precisión en cada pulsación, mientras que Rust Glancer está orientado a máquinas con recursos limitados o a usuarios dispuestos a sacrificar algo de inmediatez a cambio de menor consumo. El proyecto está disponible como extensión para VS Code y como código abierto en su repositorio de GitHub.
Rust Glancer, una alternativa a rust-analyzer con bajo consumo de RAM
Fuentes:
Hello, world!
