컨텐츠
러스트의 증분 컴파일러 아키텍처
2025-03-07 14:30
언젠가 읽기
러스트의 증분 컴파일러 아키텍처 요약
- 전통적인 컴파일러 구조는 파이프라인 형태임
- 현대 언어는 적합하지 않은 요구 사항 존재
- 증분 컴파일 및 저지연 응답 기능 필요성 강조
- 러스트는 독특한 컴파일러 디자인 추구함
- 컴파일 시간 개선 필요성 존재
- 각 단계 완료 후 다음 단계 진행 방식 문제점
- 병렬 처리 및 분석 캐싱으로 전환 필요성 제기
- 언어 설계가 문제 심각성에 영향 미침
- GCC는 파일 독립적인 번역 단위로 증분 컴파일 용이함
- 러스트는 전체 크레이트를 단일 번역 단위로 처리함
- 컴파일러에 특별한 지원 필요성 대두됨
- 쿼리 기반 모델로 전환하여 파이프라인 대체함
- 프로그램 속성을 조회하는 쿼리 사용됨
- 변경된 함수에 대해 새로운 쿼리 실행됨
- 불필요한 재컴파일 줄이고 전체 컴파일 시간 단축됨