Rust Glancer: RAM使用量を100分の1に抑えたRust LSP
Judul asli: Rust Glancer: Rust LSP using 100x less RAM
Mengapa Ini Penting
低スペック環境でのRust開発を支援し、開発者層の裾野拡大に貢献する取り組みとして注目される。
開発者が4ヶ月かけて開発したRust LSP「Rust Glancer」が公開。通常プロジェクトで100MB未満のRAM使用を目標とし、再起動後の再インデックス不要を実現。
Rust Glancerは、低メモリ使用量を重視して設計されたRust言語サーバープロトコル(LSP)の代替実装。開発者が約4ヶ月かけて開発し、通常規模のプロジェクトで100MB未満のRAM使用を目標としている。また、プロジェクトが一度インデックス化されれば、エディタ再起動後に再インデックスが不要な「即時インデックス」機能も搭載している。
既存のrust-analyzerと比較すると、インデックス速度でも遜色ない。MacBook Pro M4 Max(2025年モデル、36GB)では、ベースインデックスが5秒(rust-analyzerは6秒)、フルインデックスが8秒(同13秒)。旧型のMacBook Pro M1(2020年、8GB)でも良好な動作を確認している。
rust-analyzerのメモリ消費が多い主な理由として、開発者はincrementalクエリ型データベース「salsa」の利用と、構文木表現ライブラリ「rowan」によるメモリフラグメンテーションを挙げている。Rust Glancerはincrementalアプローチを採用せず、保存時に解析結果を一括更新し、ファイルシステムへのオフロードを可能にすることでメモリ使用量を削減している。
現時点では未完成の部分もあるが、型推論やトレイトソルバー(chalk)を含む完全なインデックスパイプライン、goto definition、ホバー、インレイヒント、補完などの主要LSP機能は既に動作する。VS Code拡張機能として試用可能。