由 matklad 開發的新型 Rust 語言伺服器協議(LSP)實作 Rust Glancer,宣稱其記憶體用量比 rust-analyzer 等現有方案少了兩個數量級。它透過使用可卸載至檔案系統的凍結工作區(frozen workspaces),而非將所有資料保留在記憶體中,來達成此目標。

這項突破解決了開發者在處理大型 Rust 程式碼庫時的主要痛點,即高記憶體用量常導致建置與測試期間系統當機。它為資源受限的環境或同時運行多個重型應用程式的使用者提供了可行的替代方案。

與在記憶體中動態重新計算的 rust-analyzer 不同,Rust Glancer 採用不同的架構方法,優先考慮磁碟快取而非記憶體用量。作者指出,雖然它非常出色,但可能尚未像既有的競爭對手那樣完善。

事件背景

語言伺服器協議(LSP)是一個業界標準,使 VS Code 等編輯器能夠為各種程式語言提供程式碼補全、跳轉定義和重構等功能。rust-analyzer 一直是 Rust 主導的 LSP,以其全面的功能聞名,但也因在大型專案中記憶體消耗過高而受到批評。

社群觀察

社群對效能提升感到興奮,使用者報告在運行重度工作負載的機器上系統當機情況減少。討論也強調了使用大型語言模型(LLM)快速生成 LSP 伺服器的實用性,並辯論了磁碟快取與記憶體計算之間的權衡。