【Rust日报】2023-07-25 如何给 Rust 编译提速?需要数据分析的帮助!

如何给 Rust 编译提速?需要数据分析的帮助!

作者 Nethercote 之前尝试通过对并行后端进行修改来加速 Rust 编译器,但大部分尝试都未能成功。 文章中提到,Rust 后端会将生成的 MIR 代码分割成代码生成单元(CGUs),然后使用 LLVM 生成机器代码。 他所尝试的 CGU 分割算法,试图将代码均匀地分割成 CGUs,但估计 LLVM 编译每个 CGU 所需的时间是困难的。当前的估计函数经常会低估或高估,这可能会影响编译时间。

作者希望通过数据分析技术来改进这个估计函数,他自己也做了一些简单的尝试,不过没有得出什么有价值的结论,因此希望有专业知识的人能够帮助。

希望更多的人可以参与到 Rust 编译器的优化工作中来,为 Rust 社区做出贡献。

作者之前所做的尝试-博客: https://nnethercote.github.io/2023/07/11/back-end-parallelism-in-the-rust-compiler.html

原文链接: https://nnethercote.github.io/2023/07/25/how-to-speed-up-the-rust-compiler-data-analysis-assistance-requested.html

Rust-Traverse:一个功能丰富的终端文件管理器

Rust-Traverse 是一个基于终端的文件管理器,主要受到 NNN 这个项目的启发。

Rust-Traverse 使用了 Ratatui 构建终端的图形界面, 同时将 Crossterm 作为终端的后端。

目前,其不仅支持完整的增删改查等基本的功能,还有模糊搜索,书签,文件预览等实用的特性,可配置化和极快的运行速度也是其卖点之一。

github仓库地址: https://github.com/dmcg310/Rust-Traverse

从错误中学习 Unsafe Rust

Rust 是一种注重安全性的编程语言,但在某些情况下,开发人员可能需要使用 unsafe 关键字来执行某些操作。unsafe 可以提供更高的性能,但可能会牺牲安全性。因此,开发人员在使用时需要非常小心。 Geo Ant 列举了几个使用 unsafe 的常见场景,如访问裸指针、调用外部C函数等,并提供了一些建议和最佳实践,以确保在使用 unsafe 时不会引入潜在的安全隐患。
他希望通过这篇文章,能够帮助Rust开发人员更好地理解 unsafe 关键字的使用场景和潜在风险。

原文链接: https://geo-ant.github.io/blog/2023/unsafe-rust-exploration/

-- From 日报小组 RustPlumber

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • 微信公众号:Rust 语言中文社区

你可能感兴趣的:(rust,开发语言,后端)