6P by xguru 2023-04-07 | favorite | 댓글과 토론
  • Rust로 작성된 더 빠르고 효율적인 대규모 빌드 시스템
  • Buck1 및 Bazel등과 일부 공통점을 가지지만, Buck1 대비 2배이상 빠름(메타 내부에서 이미 하루 1백만 빌드 이상 처리중)
  • 코어와 언어용 규칙을 완전히 분리. 병렬처리를 향상시키고 원격 실행 및 가상 파일시스템과 연동
  • 디자인 원칙
    • 빌드 시스템 코어는 언어 관련한 규칙을 전혀 모르도록 분리하여 설계
    • 코어는 Rust로 개발되었으며, 언어 룰은 Starlark(파이썬의 Dialect)로 작성
    • 빌드시스템은 "single incremental dependency graph"로 구동
    • 룰 API는 성능을 위한 고급 기능을 포함하도록 설계됨
    • 오픈소스 릴리즈가 내부 버전과 거의 동일
    • 원격 실행과 연동되도록 작성. Bazel 과 같은 API를 사용하며, Buildbarn/EngFlow 등으로 원격실행 테스트
    • 가상 파일 시스템과 연동. Sapling-based 파일시스템 지원 (EdenFS)