Rust LSP「Rust Glancer」RAM使用量100分の1

원제: Rust Glancer: Rust LSP using 100x less RAM

왜 중요한가

RAM이 제한된 구형 PC나 저사양 환경에서의 Rust 개발 환경 개선에 기여할 가능성을 제시하며, OSS 개발 툴체인의 다양성 확대 측면에서 주목된다.

개발자 1인이 4개월간 개발한 Rust 언어 서버 프로토콜(LSP) 구현체 「Rust Glancer」가 2026년 8월 19일에 공개됐다. RAM 사용량 목표치를 100MB 미만으로 설정し、기존의 rust-analyzer 대比 大폭 낮은 메모리 소비와 재시작 후 즉시 인덱싱 재활용 기능을 특징으로 한다.

Rust Glancer는 메모리 사용량 절감에 특화된 Rust용 LSP 대체 구현체다. 개발자가 공개한 벤치마크에 따르면, MacBook Pro M4 Max(36GB RAM, 2025년)에서 기본 인덱싱 완료까지 Rust Glancer가 5초, rust-analyzer가 6초를 기록했으며, 전체 인덱싱은 각각 8초와 13초였다. MacBook Pro M1(8GB RAM, 2020년) 환경에서도 Rust Glancer는 6초/9초, rust-analyzer는 7초/14초로 인덱싱 속도에서도 우위를 보였다.

rust-analyzer가 메모리를 많이 소비하는 주요 원인으로 개발자는 세 가지를 지목한다. 첫째, Rust 워크스페이스 자체가 방대한 정보를 포함하는 점, 둘째, 증분 쿼리 기반 DB인 salsa의 구조상 데이터를 메모리 밖으로 옮기기 어려운 점, 셋째, 구문 트리 표현에 사용하는 rowan이 메모리 단편화를 유발하는 점이다.

Rust Glancer는 이에 대한 대안으로 「증분 분석을 포기하고 저장 시에만 분석 결과를 갱신하는 방식」을 채택했다. 분석 결과를 파일시스템에 오프로드하고 필요할 때만 메모리에 로드하는 구조로, 재시작 후 재인덱싱 없이 이전 분석 결과를 재사용할 수 있다.

현재 구현 상태로는 타입 추론, trait solver(chalk), goto definition, hover, inlay hints, 자동 완성 등 주요 LSP 기능을 지원한다. VS Code 확장 프로그램으로 설치 가능하며, 소스에서 빌드한 vsix 파일로도 사용할 수 있다. 다만 미구현 기능과 알려진 버그가 다수 존재한다고 개발자는 명시했다.

출처

rust-glancer.github.io — 원문 읽기 →