Rust Glancer: A Rust LSP That Uses 100x Less RAM
Rust Glancer: Rust LSP using 100x less RAM

Rust Glancer is an alternative Rust language server that prioritizes low memory usage, targeting under 100MB for reasonable projects. It achieves this by indexing the workspace once and storing results on disk, allowing instant reuse after editor restarts. While not as feature-complete as rust-analyzer, it supports common LSP actions like goto definition, hover, and completions. Benchmarks show it uses significantly less RAM, making it ideal for older machines. The project's author details the journey from a 'smart ctags' idea to a full LSP, including the integration of Chalk for trait solving and the use of LLMs in development.
What if we don't try to make an incremental LSP? What if all we have is a frozen analysis result that gets invalidated on save?
- tombert
Tangential, but I've found something LLMs are actually ridiculously good at is making LSP servers.
I couldn't find good TLA+ bindings for Neovim, so I got Claude to hack together an LSP server for it [1]. It works shockingly well, and it only took about an hour of arguing with Claude to do it.
I find it's not terribly good at actually writing TLA+ (with some very recent tests with Fable), so I'm not completely useless yet.
- popzxc
Hey! Author here.
Happy to answer any questions.
- hacki11
Can you tell about how you write/read your data to/from disk? I‘m also exploring the incremental world using an approach like salsa+rocksdb. Similar like https://docs.rs/qbice/latest/qbice/. Would be great to learn about your approach.
- saghm
This is coming full circle back to how `rust-analyzer` originally got introduced: it was an alternative to the official `rls` (Rust lanaguage server) intended to provide better performance and eventually became the new official one. I've seen enough issues with rust-analyzer in the wild with coworkers having trouble getting it working well for their setups that I'm open to the idea that an alternative might be needed again, but I can't help but also be disappointed that we've gotten to this point yet again (not blaming the author of this tool of course; they're not the cause, just responding to the symptom).
- hofiflo
I personally don’t agree with “LLMs are just a tool” but I’m honestly impressed by the author’s description of LLM usage and taking the responsibility for the code. IMHO, without having looked at the code base itself, this sounds like a pretty healthy way to approach LLM usage!
- Paria_Stark
While I respect the work behind rust-analyzer greatly and think it's a good part of how cool the language is, I will NEVER understand the design decision to flat out refuse using disk cache. I understand the argument that implementing this puts less pressure behind speeding up the indexing process, but honestly with the price of ram today I'm tired of the memory and cpu usage each rust-analyzer process takes up. Especially since we do more and more parallel work.
I honestly think it's the wrong philosophy. Once again I'm a nobody compared to maintainers, so take my opinion with a grain of salt
- boredumb
this is awesome and I hope this gains some real steam, we're building everything in rust and locally if i'm watching youtube and running a build+tests and my vscodium starts running the analyzer at the same time I've seen my machine stutter out as it eats up the memory.
- junon
This is music to my ears. Going to try this now.