Glean 拾遗
最近收录

1 条 · 按时间

07-06

Zig 2026上半年:构建系统分离、@bitCast 新语义、SPIR-V 后端复苏、增量编译提速 10 倍

本文是 Zig 语言 2026 年上半年的开发日志合集,由 Andrew Kelley、Matthew Lugg、Ali Cheraghi 等核心贡献者撰写,涵盖编译器基础架构的多个重大变更。关键内容包括:(1) 将包管理功能从编译器进程移至构建系统的 maker 进程,使 zig build --help 从 150ms 降至 14ms(-90%),二进制体积缩小 4%;(2) @bitCast 重定义为基于逻辑位布局的端序无关语义,并允许对枚举进行 bitcast;(3) SPIR-V 后端修复位腐烂,新增 @SpirvType 内建函数、执行模式调用约定、多线程代码生成和 .spv 对象文件链接;(4) LLVM 后端整数降级优化(非 ABI 宽度整数用零/符号扩展存入内存)使 Zig 编译器自身性能提升约 5%,并首次支持 LLVM 后端的增量编译;(5) 新 ELF 链接器(-fnew-linker)已能编译带 LLVM/LLD 的 Zig 编译器自身,且支持快速增量重链接(~244ms);(6) io_uring 和 Grand Central Dispatch 的 std.Io.Evented 实现落地,I/O 实现可零改动切换;(7) 包管理将依赖缓存到项目本地的 zig-pkg 目录,新增 --fork 标志用于临时替换依赖树的任意包。文章适合对 Zig 编译器内部机制、系统编程语言演进及编译优化感兴趣的读者。

ziglang.org · 47 min · Build System · Compiler · ELF Linker