피드로 돌아가기
I built a build tool in Go — and now I'm slowly rewriting pieces in Rust (fz 1.9.0 release)
Dev.toDev.to
DevOps

Go 기반 빌드 툴 fz의 Rust FFI 도입을 통한 캐싱 성능 최적화

I built a build tool in Go — and now I'm slowly rewriting pieces in Rust (fz 1.9.0 release)

Alex Voste2026년 5월 19일3intermediate

Context

Go 언어로 작성된 C/ASM 프로젝트용 빌드 툴 fz의 유지보수 효율성과 빌드 속도 개선 필요성 제기. 기존 Go 기반 캐싱 레이어의 성능 한계를 극복하기 위해 시스템 레벨 제어가 정교한 Rust 도입을 검토함.

Technical Solution

  • Target Triple 기반의 자동 툴체인 선택 구조를 설계하여 ARM, RISC-V 등 Cross-compilation 환경 지원
  • compile_commands.json 생성 기능을 통해 clangd 기반의 LSP 연동 및 개발 생산성 확보
  • 고성능 파일 해싱 및 복제 처리를 위해 Rust로 작성된 정적 라이브러리(librustcache.a) 설계
  • cgo와 build tags를 활용한 Rust-Go 하이브리드 아키텍처를 통해 런타임 성능 최적화 및 선택적 적용 구조 구축
  • 링커 테스트 커버리지 확대를 통해 빌드 결과물의 신뢰성 검증 체계 강화

1. 성능 병목 지점이 파일 I/O나 CPU 집약적 연산일 경우 Rust FFI 도입 검토

2. cgo build tags를 사용하여 신구 아키텍처 간 A/B 테스트 및 벤치마크 환경 구축

3. LSP 지원을 위한 표준 포맷(compile_commands.json) 제공으로 도구 생태계 호환성 확보

원문 읽기