Rust Glancer: 100배 적은 RAM을 사용하는 Rust LSP
Rust Glancer: Rust LSP using 100x less RAM

Rust Glancer는 메모리 사용량을 최대 100배까지 줄인 대체 Rust LSP 구현입니다. 기존 rust-analyzer가 메모리에 모든 분석 결과를 보관하는 반면, Rust Glancer는 분석 결과를 파일 시스템에 저장하고 필요할 때만 로드합니다. 이를 통해 8GB RAM의 구형 MacBook Pro에서도 원활히 작동하며, 에디터 재시작 후 재인덱싱 없이 즉시 사용할 수 있습니다. 인덱싱 속도는 rust-analyzer보다 빠르며, 완전한 기능을 갖추지는 않았지만 정의 이동, hover, 인레이 힌트, 자동 완성 등 주요 LSP 기능을 지원합니다. 이 프로젝트는 4개월간 개발되었으며, LLM을 적극 활용했지만 코드 품질을 위해 모든 변경 사항을 검토했습니다.
rust-analyzer가 메모리를 많이 사용하는 이유 중 하나는 salsa 데이터베이스와 rowan 문법 트리 구조 때문인데, 이는 메모리 단편화를 유발합니다. Rust Glancer는 이러한 구조를 피하고 분석 결과를 파일 시스템에 저장하여 메모리 사용량을 획기적으로 줄였습니다.