开发日志 ⚡ Zig 编程语言

主要观点:主要介绍了 Zig 语言的近期主要变化,包括新的 Aarch64 后端、Zig 路线图、并行自托管代码生成、默认使用 x86 后端、Zig 构建系统视频、FreeBSD 和 NetBSD 交叉编译支持、网站更新、Release Tag 状态更新、改进的 UBSan 错误消息、No-Libc Zig 性能超越 Glibc Zig 以及 LLDB 叉用于 Zig 等方面的内容。

关键信息

  • 2025 年 7 月 23 日,Jacob 上游了新的 Aarch64 后端,通过 1547/1960(79%)的行为测试,比 LLVM 后端小很多逻辑,二进制大小增加约 330KB(2%),在某些方面比 x86 后端快得多。
  • 2025 年 6 月 30 日,安排了关于 Zig 2026 路线图的新 Zig SHOWTIME episode。
  • 2025 年 6 月 14 日,并行化了编译器管道,在 x86_64 后端上取得了显著的性能提升,编译 Zig 项目的时间减少了 5%至 50%。
  • 2025 年 6 月 8 日,默认在 Debug 模式下使用 Zig 的 x86 后端,x86 后端通过的行为测试比 LLVM 后端多,在编译速度上显著优于 LLVM 后端。
  • 2025 年 6 月 6 日,发布了关于 Zig 构建系统的新视频。
  • 2025 年 5 月 20 日,合并了 FreeBSD 和 NetBSD 交叉编译的相关 pull 请求,支持从任何机器构建针对这些系统的二进制文件。
  • 2025 年 4 月 9 日,网站更新为 Zine 0.10.0,很多代码被重写。
  • 2025 年 3 月 3 日,0.14.0 版本即将发布,还在准备发布说明。
  • 2025 年 2 月 24 日,改进了 UBSan 错误消息,现在能提供更有用的错误信息,但仍有一些功能未支持。
  • 2025 年 2 月 7 日,No-Libc Zig 在性能上超越了 Glibc Zig,重新设计了调试分配器,创建了快速分配器并进行了测试。
  • 2025 年 1 月 24 日,Jacob 开发了用于 Zig 的 LLDB 叉,旨在为 Zig 的自托管后端提供良好的调试支持。

重要细节

  • Aarch64 后端使用实际机器码指令编码用于编译器内部 MIR 结构,有自己的定制两阶段活度分析,能更快速生成代码。
  • 并行自托管代码生成在 x86_64 后端上效果显著,能在多个线程上并行进行代码生成等任务。
  • Zig 软件基金会是 501(c)(3)非营利组织,接受捐赠以支持开发。
  • 在 FreeBSD 和 NetBSD 交叉编译中,通过构建特定的库和提取符号信息来实现。
  • 改进的 UBSan 错误消息能指出具体错误位置和类型。
  • No-Libc Zig 通过优化分配器等方式在性能上取得突破。
  • LLDB 叉主要用于 Zig 的自托管后端调试,有相关构建和使用说明。
阅读 16
0 条评论