Zig 0.10.0 正式发布,自托管编译器首次亮相!
Zig 0.10.0 已正式发布。Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件。
Zig 0.10.0 是重要更新版本,其开发周期长达 10 个月,共有 272 名贡献者提交了 4737 个 commit。当然最大的亮点莫过于自托管编译器的首次亮相。
自托管编译器
此次更新的重大亮点就是自托管编译器的首次亮相。
目前 Zig 已默认启用自托管编译器,同时也为尚未准备好升级的用户保留了 Bootstrap 编译器,只需添加-fstage1
flag 即可使用。
官方介绍称,自托管编译器的实现在性能和内存使用方面优于旧版本。以下是编译器自身构建的两项数据(在 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz 上测试):
- Wall Clock Time: 43 seconds to 40 seconds (7% faster)
- Peak RSS: 9.6 GiB to 2.8 GiB (3.5x less memory used)
根据 Zig 维护者的介绍,Zig 自托管编译器有大概 20 万行代码,包含 LLVM、WASM、C、x86_64、arm 和 aarch64 后端。编译器代码库采用 Zig 而不是 C++ 编写,使用的内存显着减少,优化了性能。
尽管与 Bootstrap 编译器不同,新的编译器实现的速度略快,而且由于与链接器紧密结合,它能够进行增量编译。不过更大的编译速度优势将来自于不使用 LLVM 的代码生成后端。
据称这个版本的绝大部分开发工作都花在了这个新的编译器实现上。因此,语言方面的变化非常少。但这个新的代码库为主要的增强功能打下了基础,主要涉及到加快编辑/测试/调试周期。现在,自托管编译器不会再耗费如此多的精力,Zig 开发团队将会积极实现路线图上的目标。
WebAssembly
在这个版本的开发周期中,团队将大量时间都花在了可见和不可见的改进上,通过重构来提升可读性、可维护性以及后端及其生成代码的性能。在 Zig 0.10.0 中,团队称离让 WebAssembly 后端成为默认调试模式更近了一步。
延伸阅读

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
袋鼠数据库管理工具 2.0 已发布
为了实现一个更具生产力的数据库工具,袋鼠从2021年7月开始,启了一系列激进的版本计划:UI库升级到GTK4、对象“笋”新(特性)、换“芯”升级(ODBC)、网格重生(DataGrid重构)、查询构建器重构、表设计器大变身、导入导出重构、ODBC通用支持、连接对话框刷新、对象搜索支持、对话框重构、BLOB导入导出等,我们可以看到袋鼠一步一个脚印努力成长,从内到外焕发新活力,功能也愈加成熟。 重点特性介绍 这是袋鼠2022年系列版本中的第一个稳定版本,适合所有数据库工具需求者使用。 这一版本最重要的功能变化是完成了数据网格编辑、BLOB导入导出、表单编辑支持,已经通过测试;弥补了之前版本不能编辑提交数据的遗憾; 源自 GTK 官方规划,GtkTreeView 及 GtkCellRenderer 相关组件将在未来版本中逐步废弃,故对相关组件做了调整,全部迁移到 GtkColumnView 组件上来, 根据独立开发者群里大佬们的建议,对UI和整体协调性做了些调整,总之要好看要好用。 新特性或修复的缺陷列表 重构导入数据页面(列映射页/数据预览页) 重构列选择对话窗口 重构 SQLite 索引...
- 下一篇
每日一博 | 从 wepy 到 uniapp 变形记
作者:vivo 互联网前端团队-Wan Anwen、Hu Feng、Feng Wei、Xie Tao 进入互联网“下半场”,靠“人海战术”的研发模式已经不再具备竞争力,如何通过技术升级提升研发效能?前端通过Babel等编译技术发展实现了工程化体系升级,如何进一步通过编译技术赋能前端开发?或许我们 wepy 到uniapp 编译的转换实践,能给你带来启发。 一、 背景 随着小程序的出现,借助微信的生态体系和海量用户,使服务以更加便捷方式的触达用户需求。基于此背景,团队很早布局智能导购小程序(为 vivo 各个线下门店导购提供服务的用户运营工具)的开发。 早期的小程序开发工程体系还不够健全,和现在的前端的工程体系相差较大,表现在对模块化,组件化以及高级JavaScript 语法特性的支撑上。所以团队在做技术选型时,希望克服原生小程序工程体系上的不足,经过对比最后选择了腾讯出品的 wepy 作为整体的开发框架。 在项目的从0到1阶段,wepy 确实帮助我们实现了快速的业务迭代,满足线下门店导购的需求。但随着时间的推移,在技术上,社区逐步沉淀出以 uniapp 为代表的 Vue 栈体系和以 T...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址