Rust 编译器结合 Cranelift ,显著缩短调试构建时间
Posted OSC开源社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust 编译器结合 Cranelift ,显著缩短调试构建时间相关的知识,希望对你有一定的参考价值。
Rust 最新合并的 PR 显示,rustc_codegen_cranelift 已成为 Rust 编译器的代码生成器的替代方案。
rustc_codegen_cranelift 是基于 Cranelift 的代码生成器后端,目前处于实验性阶段。Cranelift 属于 WebAssembly 字节码联盟的一部分。
根据 PR 提交者的介绍,使用 Cranelift 的 Rustc 可以实现更快的调试构建,当在调试模式下编译 Rust 代码时,与调试模式下的 LLVM 构建相比,纯编译版本的编译时间大约缩短 20-30%。
Cranelift 是将目标无关的 IR 翻译为可执行机器代码的代码生成器。Cranelift 主要专注于 WebAssembly 领域,但在其他地方也引起了人们的兴趣。到目前为止,Cranelift 主要专注于为 x86_64 提供支持,其他 CPU 架构也处于不同的支持阶段。除此之外,Cranelift 也被探究用作 Firefox 中 IonMonkey javascript 编译器后端以及 Firefox SpiderMonkey 引擎 WebAssembly 后端的可能性。
rustc_codegen_cranelift 作为 Rust 的非默认实验性 Cranelift 后端被合并,其 GitHub repo 最近也发布了初始版本 v0.1.0 以作纪念。
目前看来,rustc_codegen_cranelift 的优势主要体现在优化了调试构建时间,而不是发布构建或由此产生的二进制性能方面。当然,随着 Cranelift 的成熟,相信它会提供更广泛的支持。
▼ 往期精彩回顾 ▼
觉得不错,请点个在看呀
以上是关于Rust 编译器结合 Cranelift ,显著缩短调试构建时间的主要内容,如果未能解决你的问题,请参考以下文章