Repolode
indexable-inc

indexable-inc/blaze

Drop-in-обёртка для cargo, которая ускоряет инкрементальные пересборки Rust до миллисекунд, JIT-компилируя только изменённые функции в уже запущенную программу.

Звёзды
2,003
Форки
70
Открытые issues
115
Последний коммит
21 час назад

Что это?

blaze работает вместе с cargo и хранит собранный проект в памяти. Команды остаются теми же, но перед ними нужно добавить `blaze`: например, `blaze build`, `blaze run` и `blaze test`. Любые другие команды cargo напрямую передаются cargo.

После изменения кода blaze компилирует только затронутые функции и записывает их в программу, которую cargo уже собрал, вместо того чтобы заново компоновать весь бинарный файл. Программы с поддержкой этой возможности могут подхватывать новый код прямо во время работы. По результатам бенчмарков проекта, на проверенных проектах, включая ripgrep, helix и bun, цикл «изменение — сборка» проходит в несколько раз быстрее, чем с cargo.

blaze поддерживает macOS на Apple silicon и Linux; в Windows сборка выполняется через cargo. У blaze собственный Rust toolchain, версия которого может отличаться от закреплённой в проекте. Кроме того, blaze заметно сильнее нагружает память, поэтому cargo check или CI должны оставаться заключительной проверкой.

Ключевые возможности

  • 01Использует те же команды, что и cargo, с префиксом blaze.
  • 02Перекомпилирует только изменённые функции и встраивает их в уже собранную программу.
  • 03Поддерживает изменения кода на лету в работающих программах, которые поддерживают эту возможность.
  • 04Без изменений передаёт остальные команды cargo напрямую в cargo.

Сценарии использования

  • Ускорение цикла «изменение — сборка — запуск» в крупном Rust-проекте.
  • Быстрая итеративная разработка Rust-приложения или игры с изменением кода на лету.
  • Сокращение ожидания при локальном запуске тестов во время разработки.

Быстрый старт

  1. 1

    Запустите официальный скрипт установки из README

  2. 2

    В любом проекте Rust запускайте blaze вместо cargo run

    blaze run

Что важно знать

  • Поддерживаются только macOS (Apple silicon) и Linux; в Windows все сборки переключаются на cargo.
  • blaze использует собственную включённую в комплект nightly-версию toolchain Rust, а не toolchain, закреплённую в проекте.
  • Ради скорости программа расходует больше памяти и может использовать несколько ГБ даже в небольшом проекте.
  • Проект ещё молодой, поэтому итоговую проверку по-прежнему следует выполнять с помощью cargo check или CI.

В выпуске Repolode Weekly

В подборках

Темы

#rust#cargo#incremental-compilation#jit#compiler#developer-tools#hot-reload#cranelift#live-coding#rust-analyzer

Частые вопросы

Что такое blaze?
Drop-in-обёртка для cargo, которая ускоряет инкрементальные пересборки Rust до миллисекунд, JIT-компилируя только изменённые функции в уже запущенную программу. blaze работает вместе с cargo и хранит собранный проект в памяти. Команды остаются теми же, но перед ними нужно добавить `blaze`: например, `blaze build`, `blaze run` и `blaze test`. Любые другие команды cargo напрямую передаются cargo.
blaze можно использовать бесплатно? Какая у него лицензия?
blaze распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
blaze всё ещё поддерживается?
Активно поддерживается. Последний коммит в blaze — 5 нояб. 2026 г..
Для чего можно использовать blaze?
Ускорение цикла «изменение — сборка — запуск» в крупном Rust-проекте. Быстрая итеративная разработка Rust-приложения или игры с изменением кода на лету. Сокращение ожидания при локальном запуске тестов во время разработки.
Как установить blaze?
Запустите официальный скрипт установки из README В любом проекте Rust запускайте blaze вместо cargo run: blaze run
Где скачать blaze?
Исходный код и инструкции по установке — на GitHub: https://github.com/indexable-inc/blaze

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

JIT-компилятор с открытым исходным кодом, учитывающий NumPy и преобразующий числовые функции Python в быстрый машинный код с помощью LLVM.

11,2 тыс.+3 за неделю1,4 тыс.PythonBSD-2-ClauseАктивно поддерживаетсяОбновлён вчера

Библиотека C++ для генерации машинного кода с низкой задержкой: позволяет программам создавать инструкции x86/x64 и AArch64 во время выполнения.

Инструменты разработчика#jit#machine-code#assembler
4,6 тыс.+5 за неделю606C++ZlibАктивно поддерживаетсяОбновлён позавчера

Интерпретатор Python 3 на Rust, который запускает код без привязки к CPython и поддерживает WebAssembly и встраивание в приложения.

22,5 тыс.+23 за неделю1,5 тыс.RustMITАктивно поддерживаетсяОбновлён 24 часа назад

Виртуальная машина, которая выполняет программы на Hack и использует JIT-компиляцию для повышения производительности.

18,7 тыс.+4 за неделю3,1 тыс.C++OtherАктивно поддерживаетсяОбновлён 24 часа назад