피드로 돌아가기
docs.rs: building fewer targets by default
Rust BlogRust Blog
DevOps

docs.rs 빌드 타겟 최적화로 리소스 낭비 해결

docs.rs: building fewer targets by default

Denis Cornehl2026년 4월 4일1beginner

Context

기존 docs.rs 빌드 시스템은 명시적 설정 없이 5개의 기본 타겟을 모두 빌드하는 구조. 대부분의 crate가 타겟별 코드 차이가 없음에도 중복 빌드를 수행하는 비효율 발생.

Technical Solution

  • 2026-05-01부터 기본 빌드 타겟을 단일 타겟으로 축소하는 파괴적 변경 적용
  • 별도 설정 없을 시 빌드 서버 환경인 x86_64-unknown-linux-gnu를 기본값으로 채택
  • Cargo.toml 내 [package.metadata.docs.rs] 섹션의 default-target 설정을 통한 기본 타겟 커스텀 기능 제공
  • 다중 타겟 문서화가 필요한 경우 targets 리스트에 명시적으로 타겟을 나열하는 옵트인(Opt-in) 방식 도입
  • Rust toolchain이 지원하는 모든 타겟에 대한 호환성은 그대로 유지하는 설계

Key Takeaway

범용적인 기본값 설정을 통해 시스템 전체의 리소스 효율을 높이고 필요한 사용자만 상세 설정을 사용하게 하는 점진적 최적화 전략.


멀티 플랫폼 지원 crate의 경우 Cargo.toml의 targets 메타데이터에 필요한 타겟 리스트를 명시적으로 정의할 것

원문 읽기