러스트 컴파일 속도 2배까지 단축하는 '조기 메타데이터' 기법
Key Point
러스트 컴파일 속도가 실무 프로젝트에서 최대 54% 개선되는 구체적인 기법이며, 패치 형태로 제공되어 업스트림 통합 가능성을 보여준다.
핵심 요약
- Headstart는 의존 크레이트가 타입 체크를 완료한 직후 인터페이스 메타데이터(.rmeta)를 조기에 생성하고, 의존하는 크레이트들이 함수 본체 체크가 완료되기 전에 이 메타데이터로 컴파일을 시작하게 한다.
- cargo check에서는 의존 크레이트의 조기 메타데이터로 다운스트림 크레이트들이 완료될 때까지 진행되고, cargo build에서는 분석 단계는 조기 메타데이터로 진행 후 코드 생성 전에 완전한 메타데이터를 기다리며, 대기 중 작업 슬롯을 다른 작업에 양보한다.
- 에러가 발생하면 기존과 동일한 진단과 종료 상태로 실패하며, 비용은 버려지는 다운스트림 작업, 약간 늦어진 에러 보고, 동시 메모리 사용량 증가이다.