Relax:Rust 不用等编译,程序边跑边编,大型 3D 游戏从源码到第一帧只要 11 秒

Relax 是 Makepad 出品的 Rust 实时编译器 + JIT 运行时:不用 rustc、LLVM 和链接器,直接从源码跑一个 Cargo 包。它逐个函数按需编译,热函数边跑边优化,改了代码直接热补进正在运行的进程,不用重编、重链接、重启,程序状态也留着。

官方给的数字很直观:一个大型 3D 游戏,全新检出后 cargo + rustc 要约 3 分钟才能看到第一帧,Relax 在 M4 MacBook 上 11 秒就跑起来,第二次只要 1.15 秒;改一个函数、存盘,92 个测试 2.2 秒就重跑完。它还自带断点、panic 时看局部变量、死锁原因分析、性能采样和飞行记录仪,等于把调试器也省了。

代价官方也写得很明白:优化后的代码比 rustc –release 慢,x64 上约 1.12 倍、arm64 上约 1.24 倍,而且它只是开发迭代工具,发布还是要用 cargo build –release。仓库 11 月 11 日刚公开,MIT 开源,目前只在 Linux x86-64 和 macOS arm64 上验证过,Windows 还没测,不是所有 crate 都能跑。同样想省 Rust 等待时间的还有 Blaze:改一个 Rust 函数毫秒级重建。

项目仓库:github.com/makepad/relax;介绍页:makepad.github.io/relax。

来源:Hacker News @adamnemecek,原文

请登录后发表评论

    没有回复内容