HeadlinesBriefing favicon HeadlinesBriefing.com

Rust Glancer : LSP Rust léger en mémoire

Hacker News •
×

Je souhaite présenter un projet sur lequel je travaille depuis 4 mois : une implémentation alternative du LSP Rust axée sur une faible utilisation de la mémoire. Il vise moins de 100 Mo pour des projets raisonnables et permet une indexation immédiate après redémarrage. Je l'ai testé sur mon ancien MacBook Pro M1 2020 avec 8 Go de RAM, et il fonctionne très bien.

Ces fonctionnalités rendent [PERSON_NAME] adapté aux ordinateurs plus anciens. Ce n'est pas encore un LSP complet, mais il dispose déjà d'un pipeline d'indexation complet avec inférence de types et solveur de traits. La plupart de la syntaxe Rust standard est prise en charge, et les actions LSP classiques comme aller à la définition, survol et complétion fonctionnent comme prévu. Vous pouvez l'essayer en installant l'extension VS Code.

Contrairement à rust-analyzer, qui utilise salsa et [PERSON_NAME] pour privilégier la vitesse, cette architecture lie intrinsèquement les données à la mémoire et provoque une forte fragmentation de la RAM. L'idée centrale était de sauter le suivi incrémental en mémoire. En sauvegardant les résultats d'analyse figés sur le système de fichiers, Rust Glancer décharge les données jusqu'à ce qu'elles soient nécessaires, réutilise l'indexation après les redémarrages et réduit drastiquement la consommation de ressources.

FAQ : Comment [PERSON_NAME] réduit-il l'utilisation de la mémoire par rapport à rust-analyzer ?

Il enregistre les résultats d'analyse figés directement sur le système de fichiers au lieu de tout conserver dans une base de données incrémentale en mémoire, ce qui évite la fragmentation de la RAM et permet leur réutilisation entre les redémarrages.