Автономная среда выполнения WebAssembly на базе генератора кода Cranelift, с поддержкой WASI и встраиванием в приложения на разных языках.
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
Запустите официальный скрипт установки из README
- 2
В любом проекте Rust запускайте blaze вместо cargo run
blaze run
Что важно знать
- Поддерживаются только macOS (Apple silicon) и Linux; в Windows все сборки переключаются на cargo.
- blaze использует собственную включённую в комплект nightly-версию toolchain Rust, а не toolchain, закреплённую в проекте.
- Ради скорости программа расходует больше памяти и может использовать несколько ГБ даже в небольшом проекте.
- Проект ещё молодой, поэтому итоговую проверку по-прежнему следует выполнять с помощью cargo check или CI.
В выпуске Repolode Weekly
- Выпуск 3 · Большие MoE-модели с SSD и пересборка Rust за миллисекунды
Замена фронтенда cargo: достаточно добавить blaze перед обычной командой. JIT-компилирует только изменённые функции и подменяет их в работающей программе, инкрементальная пересборка занимает миллисекунды.
В подборках
Темы
Частые вопросы
- Что такое 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 обновляется ежедневно.
Похожие проекты
Официальный менеджер пакетов Rust: загружает зависимости проекта и компилирует код на Rust.
JIT-компилятор с открытым исходным кодом, учитывающий NumPy и преобразующий числовые функции Python в быстрый машинный код с помощью LLVM.
Библиотека C++ для генерации машинного кода с низкой задержкой: позволяет программам создавать инструкции x86/x64 и AArch64 во время выполнения.
Интерпретатор Python 3 на Rust, который запускает код без привязки к CPython и поддерживает WebAssembly и встраивание в приложения.
Виртуальная машина, которая выполняет программы на Hack и использует JIT-компиляцию для повышения производительности.