Rust-analyzer is the most widely recommended and used language server for Rust. It works well, but on large codebases it can consume significant memory. That memory load slows down your editor, forces swapping, and eats into the RAM available for your actual build. There’s a leaner alternative that gives you core features for a fraction of the cost.
Why the default LSP eats RAM
Rust-analyzer builds a full semantic model of your project. It indexes every crate, resolves every symbol, and keeps the entire syntax tree in memory. That’s great for refactoring and deep static analysis, but most edits don’t need all of that. A quick syntax check or a single completion only requires a small slice of the data. The rest sits idle, consuming RAM.
Enter rust-glancer
Rust-glancer is not a drop-in replacement for rust-analyzer; it is an alternative LSP with lower memory usage but does not support all rust-analyzer features. It uses the same protocol and exposes many of the same editor features. Under the hood, it skips the heavy indexing and only loads what the current request needs. The result is memory use that scales with the size of the visible file, not the entire project.
Real-world memory use
On large Rust workspaces, rust-analyzer can consume several gigabytes of memory. Rust-glancer, running the same editor session, uses significantly less. The trade-off is a slight delay when you first open a file, because it has to parse on demand. Subsequent edits are fast, since the data is cached for the duration of the session.
What you still get
- Code completion for local and imported symbols
- Inline error squiggles and quick fixes
- Go-to-definition and find references
- Basic refactoring like rename symbol
- Hover documentation and type hints
What you lose is deep project-wide analysis. If you rely on features like call hierarchy or precise unused-code detection, rust-glancer won’t replace rust-analyzer. For most day-to-day coding, though, the difference is invisible.
How to switch
Installation involves downloading, moving the binary, and updating editor settings. Rust-glancer is distributed as a pre-built binary.
- Download the latest release from the GitHub repo repourl
- Move the binary to /usr/local/bin or your preferred location
- Update your editor’s LSP settings to use rust-glancer
- Restart your editor and verify the new server is active
When to stick with rust-analyzer
If you work on a small project or have RAM to spare, the default server is still the better choice. It’s more mature, has better error recovery, and supports the full range of IDE features. Rust-glancer is for situations where memory is the bottleneck, like large monorepos or machines with limited resources.
The choice isn’t permanent. Switching is straightforward but may require minor setup adjustments. Try rust-glancer for a week; if it doesn’t slow you down, keep it. If you miss a feature, revert to rust-analyzer. Either way, you’ll have a leaner Rust setup.
This post was originally published on my site. Read the full article and more →
Top comments (0)