Relax:Rust 实时编译与 JIT 运行时
NEWRelax 是用 Rust 编写的 Rust 实时编译器与 JIT 运行时,直接从源码运行 Cargo 包,函数首次调用时编译,并把编辑热补丁进正在运行的进程。
Relax 是实验性的 Rust 实时编译器与 JIT 运行时,面向开发中的编辑—运行循环:它不经过 rustc、LLVM 和链接器,直接从源码运行 Cargo 包,函数在首次调用时编译,运行中优化热点函数,并把改动补丁进运行中的进程,保留程序状态。它提供 `relax run`、`relax test --live`(保存后重跑受影响测试)、`relax check`(逐函数类型检查、后台借用检查)等命令,以及 panic 暂停、断点、死锁诊断、性能采样、飞行记录器和内存/堆分析等 `relax inspect` 查询。代码生成支持 x86-64 与 AArch64,仓库在 Linux x86-64 和 macOS arm64 上可构建并通过测试,Windows 未测试。README 明确其边界:优化后代码比 rustc `--release` 慢(x64 1.12×、arm64 1.24×,21 个工作负载几何平均),内存占用更高,`relax check` 尚未比 `cargo check` 快,部分 crate 尚不支持,结构布局、导入、trait/impl 头或宏的改动需重启生效;发布版本仍应使用 `cargo build --release`。