Offcanvas

개발자 / 애플리케이션

메타, 벅2 빌드 시스템 오픈소스로 공개 “두 배 빨라졌다”

2023.04.07 Paul Krill  |  InfoWorld
메타가 벅2(Buck2) 빌드 시스템을 오픈소스 라이선스로 출시했다. 벅1과 비교해 빌드 완료 속도가 두 배 빨라졌다는 설명이다. 

페이스북의 모기업 메타에 따르면, 러스트(Rust)로 작성된 벅2 빌드 시스템은 빌드 환경을 더 빠르고 효율화한다. 메타의 개발자 수천 명이 사용하고 있으며, 매일 수백 만 건의 빌드를 수행하고 있다.

지난 6일 오픈소스화된 벅2는 현재 깃허브 또는 벅2 웹사이트를 통해 접근할 수 있다. 이 시스템은 모든 언어로 작성된 소프트웨어를 빌드할 수 있으며, 여러 언어로 작성된 소프트웨어를 동시에 빌드할 수도 있다. 

예를 들어 개발자가 “C 파일에 의존하는 오캄 라이브러리에 의존하는 러스트 라이브러리를 임포트하는 파이썬 바이너리를 가지고 있다면 벅2가 도움이 될 수 있다”라고 메타는 설명했다. 

단 각 언어에 대해 일반 규칙의 작성이 필요하다. 해당 특정 언어로 컴파일하는 것이 무엇을 의미하는지, 테스트, 실행 및 C와의 연결과 같은 표준 기능을 제공하는 방법은 무엇인지 설명해야 하는 것이다. 

메타에 따르면 벅2는 기본적으로 어셈블리, C/C++, 얼랑(Erlang), 고(Go), 하스켈(Haskell), 자바, 자바스크립트, 줄리아, 오캄, 파이썬, 러스트에 대한 규칙을 제공한다. 개발자가 벅2에 언어 규칙을 추가하거나 파이썬의 방언인 스타라크(Starlark) 스크립팅 언어를 사용해 재구현할 수도 있다. 

메타는 벅2가 벅을 처음부터 다시 작성해 개발됐다고 전하며, 코어와 언어별 규칙이 분리되어 있는 한편, 병렬 처리, 원격 실행 및 가상 파일 시스템과의 통합, 새롭게 디자인된 콘솔 출력이 특징이라고 설명했다. 

메타는 벅2의 코어가 러스트로 작성된 반면, C++ 빌드 방법과 같은 언어 규칙은 스타라크의 러스트 임플리멘테이션으로 작성됐다고 전하며, 언어 규칙과 코어를 분리하면 규칙을 변경하고 이해하기 쉬워진다고 설명했다. 이 밖에 단일 종속성 그래프가 빌드 시스템을 구동하여 여러 유형의 버그를 제거하고 병렬성을 개선하며, 규칙 API는 성능을 위한 고급 기능을 제공하도록 설계됐다는 설명이다. 

마지막으로 메타는 자바로 작성한 벅1의 강점이 여전히 있다고 전했다. 러스트로 벅2를 작성함에 따라 가비지 콜렉션 중단이 없는 등의 이점이 나타난 반면, 벅1 작성에 메타가 사용한 자바의 경우 더 나은 프로파일링 도구와 같은 장점을 전달한다는 것이다. 벅2 바이너리 또한 언어에 구애받지 않는다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.