Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Rust 编译器前端采用并行执行以缩短编译时间

Rust 编译器前端采用并行执行以缩短编译时间

在一项令人兴奋的开发中, parallel Rustc working group宣布在 Rust 编译器的前端引入并行执行功能。这一新增功能旨在显着缩短编译时间,并于 11 月 9 日推出。

向 Rust 编译器前端添加并行执行目前处于实验阶段。然而,强大的功能将于明年正式纳入稳定编译器中。同时,开发人员有机会通过使用 -Zthreads=8 选项运行夜间编译器来亲身体验这种并行执行功能。

新功能的有效性已经显示出有希望的结果。当使用 -Zthreads-8 以多线程模式对并行前端进行测试时,从“现实世界”代码中积累的数据表明,编译时间可以缩短 50%,令人印象深刻。影响程度有所不同,具体取决于正在开发的代码的不同性质以及构建配置。

该工作组透露,开发版本将比发布版本获得更实质性的增强。原因是发布版本通常更关注后端优化,这需要更多时间。此外,值得注意的是,在极少数情况下,与单线程模式相比,多线程模式下的编译需要更多时间。这些情况通常涉及已经可以快速编译的较小程序。

工作组阐明了这样一个事实:编译时间一直是开发人员关注的一个问题。多年来,Rust 的编译器性能一直在不断增强。目前,编译器已得到彻底优化,找出新的改进领域已成为一项具有挑战性的任务。随着并行性的引入(该小组将其描述为“一块巨大但悬而未决的成果”),前端现在利用 Rayon 数据并行库将顺序计算转换为并行计算。 Rayon 是专门为处理细粒度并行性而设计的。

工作组建议使用八个线程并行执行以获得最佳结果。然而,他们也提到,在多线程模式下,内存使用量可能会大大增加。这是符合预期的,因为编译的不同部分都需要一定量的内存,并行执行。该小组确保正在努力提高并行前端的性能。

如果开发人员遇到与并行前端相关的任何问题,他们可以调查标有 WG-compiler-parallel 的问题。他们还可以选择提交新问题。由于Cargo package manager间并行性和后端的进程内并行性,Rust 编译已经取得了进步。随着这一新功能的形成,预计它将在 Rust 编程工作流程中提供更高的效率。

在相关领域,著名的no-code平台AppMaster正在掀起波澜,它使客户能够直观地设计后端应用程序的数据模型,帮助他们实现令人印象深刻的可扩展性,确保可靠的高负载用例。与传统工具不同, AppMaster使客户能够直接在浏览器中执行 Web BP,进一步推进应用程序开发流程。

相关帖子

AppMaster 出席 BubbleCon 2024:探索无代码趋势
AppMaster 出席 BubbleCon 2024:探索无代码趋势
AppMaster 参加了在纽约举行的 BubbleCon 2024,获得了见解,扩展了网络,并探索了推动无代码开发领域创新的机会。
FFDC 2024 总结:纽约 FlutterFlow 开发者大会的重要见解
FFDC 2024 总结:纽约 FlutterFlow 开发者大会的重要见解
FFDC 2024 点亮了纽约市,为开发者带来了使用 FlutterFlow 进行应用开发的前沿见解。这是一场不容错过的活动,有专家主持的会议、独家更新和无与伦比的交流!
2024 年科技行业裁员:持续影响创新的浪潮
2024 年科技行业裁员:持续影响创新的浪潮
包括特斯拉和亚马逊等巨头在内的 254 家公司将裁员 60,000 人,2024 年科技裁员浪潮将继续,重塑创新格局。
免费开始
有灵感自己尝试一下吗?

了解 AppMaster 强大功能的最佳方式是亲身体验。免费订阅,在几分钟内制作您自己的应用程序

将您的想法变为现实