Rust 컴파일러 프론트 엔드, 병렬 실행 기능 추가
Rust 컴파일러 프론트 엔드는 이제 미세한 병렬 처리를 사용하여 컴파일 시간을 크게 줄일 수 있음.
현재 실험적 단계에 있는 이 병렬 프론트 엔드는 2024년에 안정적인 컴파일러 버전으로 출시될 예정.
개발자들은 현재 나이틀리 컴파일러를
-Z threads=8옵션과 함께 실행하여 병렬 실행을 시도할 수 있음.병렬 프론트 엔드를 멀티 스레드 모드로 실행할 때, 실제 코드에 대한 컴파일 시간이 최대 50%까지 줄어들 수 있음. 그러나 이 효과는 코드의 특성과 빌드 구성에 따라 크게 달라질 수 있음.
컴파일 시간은 Rust 커뮤니티에서 지속적인 관심사였으며, 컴파일러 성능은 여러 해에 걸쳐 지속적으로 향상되었음.
병렬 프론트 엔드는 Rayon 데이터 병렬 처리 라이브러리를 사용하여 순차적 계산을 병렬로 변환.
병렬 실행을 위해 8개의 스레드 사용이 권장. 그러나 멀티 스레드 모드에서 메모리 사용량은 상당히 증가할 수 있음.
병렬 프론트 엔드 성능을 개선하기 위한 작업이 진행 중. 개발자들은 WG-compiler-parallel 라벨이 붙은 문제를 확인하거나 새로운 문제를 제기할 수 있음.
Rust 컴파일은 이미 Cargo 패키지 관리자를 통한 프로세스 간 병렬 처리와 백엔드의 프로세스 내 병렬 처리로부터 혜택을 받고 있음.
자세한 내용은 : https://www.infoworld.com/article/3710332/rust-compiler-front-end-gains-parallel-execution.html
