QBE 1.3:元编程、性能提升与跨平台支持

lwn.net · ⭐️ 8/10 · 2026-07-10

QBE 1.3 于 2026 年 6 月 2 日发布,新增约 7000 行代码并移除 1500 行,引入了元编程能力、性能改进(缩小了 CoreMark 差距)以及扩展的跨平台支持。 此版本使 QBE 更接近其实现 GCC -O2 性能 70% 的目标,使其成为系统编程和编译器项目(如 Hare 和 cproc)更可行的紧凑后端。 性能改进专注于优化 CoreMark 基准测试中的热点函数(如 ee_isdigit() 和 crcu8()),通过经典优化通来实现。元编程通过自动生成代码简化了后端开发。

背景

QBE 是一个紧凑的编译器后端,使用静态单赋值(SSA)中间表示并支持 C ABI。它被设计得足够小,以至于单个开发者可以理解,目标是仅用 10% 的代码实现工业编译器(如 GCC 和 LLVM)约 70% 的性能。

参考链接

社区讨论

在 Hacker News 上关于此版本的讨论中,参与者指出 QBE 与其他极简编译器项目(如 MIR 和 IR)有共同的技术渊源,但不同之处在于它优先考虑编译速度和可维护性,而非激进优化。

阅读原文