🛠Tools🔥🔥

個人開発者、軽量 Rust LSP ツール Rust Glancer を公開──メモリ消費を 100MB 未満に抑制

rust-analyzer のメモリ肥大化を解消するため、解析結果をファイルシステムに永続化して RAM 消費量を 100MB 未満に抑えた代替 Rust LSP。古いマシンでもスムーズな開発環境を提供する。
リリース: 2026-08-20 · 読了 3

記事の要約

1. 核心(What)

  • 解析結果をファイルシステムにオフロードし、メモリ消費量を 100MB 未満に抑える Rust LSP 実装が公開された
  • エディタ再起動時に再インデックスを行わず、ファイルシステム上の保存済みインデックスを即時再利用する仕組みを持つ
  • 型推論や trait solver (chalk)、定義ジャンプ、ホバー、補完などの一般的な LSP アクションをサポートしている
  • カスタムファイルウォッチャーにより、エディタ外からのファイル変更(AI エージェント等による自動編集)時の冗長な再インデックスを防ぐ

2. 影響(Why)

  • メモリ消費の劇的な削減: rust-analyzer が採用する salsa や rowan によるインクリメンタルキャッシュ起因のメモリ肥大化を避け、ファイルシステム永続化により RAM 消費量を常時 100MB 以下に収める。
  • エディタ再起動時の即時インデックス: 一度完了したワークスペースのインデックスを破棄せず保持するため、エディタ再起動直後から待機時間なしで補完や定義ジャンプを利用できる。

3. 根拠・詳細(How)

  • ファイルシステム永続化によるメモリ解放: インクリメンタルな常駐キャッシュを持たず、解析結果をファイルシステムに保存してクエリ実行時のみメモリにロードする設計を採用。
  • シャロー解析によるタイピング応答性の維持: タイピング時にはファイル全体の完全な再解析を行わず、現在のコードボディに対する浅い解析と既存インデックスの再利用を組み合わせる。

4. 展望・課題(Next)

  • 機能の網羅性とバグ修正: 開発期間 4 ヶ月の初期段階であるため、完全な rust-analyzer の代替には至らず一部機能の未実装や既知のバグが残る。