Hay una vieja tensión en el oficio de programar: el tiempo que se pierde esperando a que la máquina termine de traducir lo que uno acaba de pensar. En estos días, un equipo de indexable-inc ha puesto sobre la mesa una herramienta llamada blaze que intenta reducir esa espera en el ecosistema de Rust, un lenguaje conocido por su rigor y, a veces, por su lentitud al compilar. La propuesta no pretende que el código se escriba más rápido, sino que cada cambio se vuelva a construir apenas tocado, sin rehacer todo lo anterior. Es una apuesta por recuperar la atención del desarrollador, y su valor rea
Blaze promete builds incrementales de Rust hasta 92 veces más rápidos que cargo
Reduce cuánto recompilas después de cada edición
Empecemos por lo básico: ¿por qué importa pasar de 9 segundos a menos de medio segundo?
Porque ese ciclo de editar y esperar se repite decenas de veces al día. En bun, el cambio es de 9,11 s a 451 ms, y el modo de edición en vivo baja a unos 20 ms entre guardar y ver el código corriendo.
Ojo con el 92x. Es el mejor caso publicado. Los promedios que da el repositorio son 10x en macOS arm64, 24x en Linux aarch64 y 11x en Linux x86-64.
Y esos números, ¿quién los mide?
El propio repositorio. El texto no menciona una verificación independiente, así que son cifras del equipo, no confirmadas por terceros.
Aun así hay un patrón coherente: nushell gana 5,3x, ripgrep 9,1x, helix 19x y bun 20x. A más código, más ganancia.
¿Cuál es el costo?
Memoria, unos pocos GB incluso en proyectos chicos, y una toolchain propia, el nightly blaze-2026-10-25. Además, solo macOS con Apple silicon y Linux.
Y el repositorio mismo dice que es una herramienta joven y pide mantener cargo check o el CI como árbitro. Eso es una advertencia seria, no letra chica.
¿Compite con sccache o los workspaces?
Más bien complementa: esas técnicas reducen cuánto compilas; blaze, cuánto recompilas tras editar.
Y si tu cuello de botella son las dependencias, el propio texto admite que blaze no lo resuelve solo. Lo que no sabemos es cómo rinde en tu proyecto concreto.
Il Polso
- La espera tras cada edición de código, de casi diez segundos en un proyecto de 1,25 millones de líneas, interrumpe el ritmo de quien compila decenas de veces al día.
- blaze promete recompilar solo lo que cambió y escribirlo dentro del programa ya construido, pasando de 9,11 s a 451 ms en el caso de bun.
- Las cifras reales son más modestas que el titular de 92x: promedios de 10x en macOS, 24x en Linux aarch64 y 11x en Linux x86-64, con ganancias que crecen con el tamaño del proyecto.
- La herramienta es joven, solo corre en macOS con Apple silicon y Linux, consume más memoria y usa su propio compilador, por lo que el CI sigue siendo el árbitro final antes de confiar en ella.
Hay una vieja tensión en el oficio de programar: el tiempo que se pierde esperando a que la máquina termine de traducir lo que uno acaba de pensar. En estos días, un equipo de indexable-inc ha puesto sobre la mesa una herramienta llamada blaze que intenta reducir esa espera en el ecosistema de Rust, un lenguaje conocido por su rigor y, a veces, por su lentitud al compilar. La propuesta no pretende que el código se escriba más rápido, sino que cada cambio se vuelva a construir apenas tocado, sin rehacer todo lo anterior. Es una apuesta por recuperar la atención del desarrollador, y su valor real dependerá de cuánto resista fuera de las pruebas de laboratorio.
Un desarrollador modifica una sola función en bun, un proyecto de Rust de 1,25 millones de líneas, y vuelve a compilar. Con cargo build el ciclo tarda 9,11 segundos; con blaze, la herramienta de indexable-inc, tarda 451 milisegundos. Es una diferencia que, multiplicada por decenas de compilaciones diarias, se convierte en tiempo de desarrollador recuperado, y en una startup técnica ese tiempo suele ser el costo más pesado.
El titular de «hasta 92x» es el mejor caso publicado, pero las mediciones sobre proyectos reales son más útiles para decidir: 10x en macOS arm64, 24x en Linux aarch64 y 11x en Linux x86-64. En Linux, la ganancia crece con el tamaño del código: ripgrep mejora 9,1 veces, helix 19 veces y bun 20 veces. El uso es sencillo, pues blaze build, blaze run y blaze test equivalen a sus comandos de cargo, y el resto pasa directo a cargo.
El mecanismo mantiene el proyecto compilado en memoria y, al editar, reemplaza solo las funciones modificadas dentro del binario existente, sin reenlazarlo entero. Se apoya en rust-analyzer, Cranelift, LLVM y salsa, entre otras piezas. El proyecto nació en ix para la app de den, se llamó ra-jit hasta el 24 de octubre de 2026 y ya suma más de 2.100 commits.
Los límites son claros. Solo funciona en macOS con Apple silicon y Linux, compila con su propio nightly y necesita varios gigabytes de memoria. Su equipo recomienda mantener cargo check o el CI como referencia y reportar diferencias. A diferencia de sccache, workspaces o linkers como mold, que reducen cuánto se compila, blaze busca reducir cuánto se recompila tras cada edición. Para quien lo evalúe, la sugerencia es medir primero, probarlo en el proyecto más grande y calcular cuánto cuesta la espera antes de decidir.
Un desarrollador edita una sola función en bun, un proyecto de 1,25 millones de líneas de Rust, y vuelve a compilar. Con cargo build, ese ciclo tarda 9,11 segundos. Con blaze, la herramienta de indexable-inc, tarda 451 milisegundos: unas 20 veces menos. Es la cifra que mejor resume una propuesta que el repositorio presenta con otro número, el de «hasta 92x» más rápido que cargo y rustc en builds incrementales.
Para un equipo que compila decenas de veces por día, la diferencia se traduce en tiempo de desarrollador recuperado o perdido. El texto subraya que el tiempo de un perfil senior suele ser la línea más pesada del presupuesto de una startup técnica. La promesa de blaze es además de uso simple: blaze build, blaze run y blaze test equivalen a sus comandos hermanos de cargo, y el resto de los comandos pasa directo a cargo sin cambios. La instalación es un script de curl, funciona en macOS con Apple silicon y en Linux, con o sin Rust instalado. Descarga una sola vez el compilador con el que construye, de entre 100 y 135 MB, o usa el de rustup. También existen vías por crates.io y Nix.
El titular de 92x es el mejor caso publicado; los promedios sirven más para decidir. Frente a cargo build, medidos sobre proyectos reales, el repositorio reporta 10x en macOS arm64, 24x en Linux aarch64 y 11x en Linux x86-64. El detalle por proyecto en Linux x86-64, editando una función y recompilando, muestra un patrón: a más código, más ganancia. ripgrep pasa de 508 ms a 56 ms (9,1x); nushell, de 1,25 s a 236 ms (5,3x); helix, de 2,15 s a 116 ms (19x); y bun, de 9,11 s a 451 ms (20x). Se suma un modo de edición en vivo, con unos 20 ms entre guardar el archivo y ver el programa corriendo con el código nuevo.
El mecanismo es este: blaze corre junto a cargo y mantiene el proyecto compilado en memoria. Al editar, no rearma el binario desde cero; compila solo las funciones que cambiaron y las escribe dentro del programa que cargo ya había construido, sin reenlazarlo completo. Un programa preparado para ello puede recibir el código nuevo mientras sigue en ejecución. Se apoya en piezas conocidas: rust-analyzer (de donde toma el análisis y el MIR que compila), Cranelift de Bytecode Alliance, LLVM e inkwell para los niveles optimizados, salsa como motor incremental, object y rustd de DioxusLabs, además de crates del propio compilador de Rust.
El proyecto acumula más de 2.100 commits, 722 estrellas y 22 forks, con licencia MIT o Apache-2.0. Nació dentro de ix para la app nativa de den y, hasta el 24 de octubre de 2026, se llamaba ra-jit; el comando cargo ra-jit sigue funcionando.
Los límites los declara el propio equipo. Solo funciona en macOS sobre Apple silicon y Linux; en Windows todos los builds son de cargo. Compila con su propio Rust, blaze-2026-10-25 (el nightly de esa fecha), sin importar la versión que fije el proyecto, y maneja tanto código stable como código con #![feature(...)]. Cambia memoria por velocidad: unos pocos GB incluso en un proyecto chico. Y es joven: el repositorio recomienda mantener cargo check o el CI como árbitro final y reportar cualquier diferencia contra cargo.
El texto contrasta con las palancas clásicas que cita InfoWorld: cargo check, sccache, Cargo workspaces, paralelismo, cargo build --timings y linkers alternativos como lld o mold. La diferencia es de estrategia: esas técnicas reducen cuánto se compila; blaze reduce cuánto se recompila tras cada edición. Para quien lo evalúe, la recomendación es medir primero con --timings, pilotear en el proyecto más grande y no en el más nuevo, mantener el CI como fuente de verdad y calcular el costo de oportunidad de la espera. Para builds remotos o de CI, el equipo trabaja en acceso temprano con un grupo reducido de compañías y publica un contacto directo.
Citazioni salienti
El repositorio recomienda mantener cargo check o el CI como árbitro final y reportar cualquier diferencia contra cargo.— Repositorio de blaze (indexable-inc)