원문 캡처 · github.com
원문 캡처 · github.com

blaze는 Rust 프로젝트에서 바뀐 함수만 다시 컴파일해 빌드 시간을 줄이는 도구다. 제작자는 실제 프로젝트 평균 기준으로 macOS Apple 실리콘에서 10배, Linux aarch64에서 24배, Linux x86-64에서 11배 빠르다고 밝혔다.

macOS Apple 실리콘과 Linux에서 사용할 수 있으며, Windows에서는 모든 빌드가 cargo로 실행된다. 설치는 다음 명령으로 시작할 수 있다.

sh
curl -fsSL https://raw.githubusercontent.com/indexable-inc/blaze/main/install.sh | sh

blaze는 Rust가 설치되지 않은 환경에서도 작동한다. 자체 빌드에 사용할 Rust를 한 번 내려받으며, 용량은 약 100~135MB다. 이미 설치된 rustup의 Rust를 사용할 수도 있다. 프로젝트에서 blaze run, blaze test, blaze build처럼 cargo 명령 앞에 blaze를 붙이면 된다. 첫 빌드는 cargo로 실행되고 blaze가 프로젝트를 불러온 뒤부터 변경 사항을 빠르게 빌드한다. 그 밖의 cargo 명령은 그대로 cargo에 전달된다.

제작자 측 설명에 따르면 blaze는 cargo와 함께 동작하며 프로젝트를 메모리에 컴파일된 상태로 유지한다. 수정한 함수만 컴파일해 cargo가 이미 만든 프로그램에 반영하므로 전체를 다시 링크하지 않는다. 라이브 편집을 지원하도록 설정한 프로그램은 실행을 멈추지 않고 새 코드를 적용할 수도 있다. 이 기능으로 파일을 저장한 뒤 새 코드가 실행되기까지 약 20ms가 걸린다고 안내한다.

성능 수치는 실제 프로젝트의 평균이며, 개별 결과는 프로젝트와 플랫폼에 따라 다르다. Linux x86-64에서 함수 하나를 수정한 뒤 다시 빌드한 예로, ripgrep은 cargo의 508ms에서 56ms로, nushell은 1.25초에서 236ms로, helix는 2.15초에서 116ms로 줄었다. Rust 코드 125만 줄 규모인 bun은 9.11초에서 451ms로 줄었다. 전체 측정 조건과 메모리·디스크 사용량은 벤치마크 문서에 공개돼 있다.

다만 blaze는 자체 툴체인 blaze-2026-10-25로 모든 프로젝트를 빌드한다. 프로젝트가 지정한 툴체인과 별개로 동작하며, 안정판 코드와 #![feature(...)] 코드 모두 빌드할 수 있다고 설명한다. 작은 프로젝트에서도 메모리를 수 GB 사용하며, 아직 초기 단계라 제작자는 최종 확인에 cargo check나 CI를 이용하라고 권한다. 지원 범위와 제약은 사용 문서에서 확인할 수 있다.

Nix가 설치돼 있다면 nix run github:indexable-inc/blaze로 Game of Life 데모를 실행할 수 있다. macOS Apple 실리콘에서는 실행 중 규칙과 색상, 속도를 바꿀 수 있고, 다른 환경에서는 라이브 편집 없이 창이 실행된다. 처음 실행할 때는 소스에서 blaze를 빌드한다.

설치 방법은 설치 문서, 사용법은 사용 문서, 내부 구조는 아키텍처 문서에서 볼 수 있다.