Bun 컴파일 시간 한눈에 보여주는 빌드 시각화 도구 만들어봤다

“개발자가 리눅스 빌드 과정의 시간 소요를 시각화하는 오픈소스 트레이싱 도구 'buildprof'를 공개했다. buildprof는 빌드 명령 앞에 붙여 실행하면 빌드가 실행한 모든 프로세스와 하위 프로세스를 하나의 타임라인에 배치해 병렬성 부족, 반복 작업, 의존성 다운로드, 과도한 컴파일러·링커 호출 등을 드러내며, ripgrep 클린 빌드 프로파일링 실시간 영상도 공개됐다. 제작자는 Bun의 Rust 빌드가 Zig 빌드보다 리눅스에서 5배 이상 빠르다는 주장과 Full LTO 대 ThinLTO 차이에서 착안해 Bun 1.3.14와 1.4.0의 리눅스 x64 CI 빌드를 6코어 12스레드 VM에서 재현했고, Zig 24분24초 대 Rust 5분40초로 유사한 격차를 확인했다.”

AI 요약

개발자 Lalit Maganti가 Linux에서 소프트웨어 컴파일 시 시간이 어디에 소요되는지 시각화해주는 오픈소스 트레이싱 도구 'buildprof'를 개발했다. buildprof는 빌드 명령 앞에 buildprof --를 붙여 실행하면 모든 프로세스와 하위 프로세스를 하나의 타임라인에 기록해 병렬성 부족, 반복 작업, 의존성 다운로드, 과도한 컴파일러·링커 호출 등을 한눈에 파악할 수 있게 해준다. 개발자는 Bun 런타임의 Zig 빌드가 Rust 빌드보다 5배 이상 느리다는 주장을 검증하려다 이 도구를 만들게 됐다. 실제로 Bun 1.3.14(Zig)와 1.4.0(Rust)의 Linux x64 빌드를 재현한 결과 Zig 시대 약 24분, Rust 시대 약 5분 40초로 유사한 격차가 확인됐다.

핵심 포인트

  • buildprof는 buildprof -- make -j16, buildprof -- cargo build 등 기존 빌드 명령 앞에 붙여 사용하는 오픈소스 트레이싱 도구
  • 모든 프로세스와 하위 프로세스를 하나의 타임라인에 시각화(시간은 좌→우, 막대 너비는 지속 시간, 자식 프로세스는 부모 아래 표시)
  • Bun 1.3.14(Zig, Full LTO) 약 24분 24초 vs Bun 1.4.0(Rust, ThinLTO) 약 5분 40초로 재현
  • Jarred Sumner(Bun 수석 아키텍트)의 트윗에서 언급된 Full LTO vs ThinLTO 차이가 빌드 시간에 큰 영향

향후 전망

  • buildprof를 통해 빌드 병목을 시각적으로 파악함으로써 개발자들이 병렬성 개선, 반복 작업 제거 등 최적화 우선순위를 명확히 설정할 수 있을 것으로 기대된다.
  • LTO 방식(Full vs Thin) 차이가 빌드 시간에 미치는 영향에 대한 추가 분석이 이어질 가능성이 있다.
출처:hackernews
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...