std::sync::Mutex 性能提升 近日,一个关于 mutex 的 pr 合进了 rust 的仓库主分支,作为标准库 Mutex 重大改进的一部分,Linux 上的std::sync::Mutex现在具有与park_lot竞
std::sync::Mutex 性能提升
近日,一个关于 mutex 的 pr 合进了 rust 的仓库主分支,作为标准库 Mutex 重大改进的一部分,Linux 上的 std::sync::Mutex 现在具有与 park_lot 竞争的性能。这体现了 Rust 在安全性的同时也具有性能优势。
pr 详情见:https://github.com/rust-lang/rust/pull/95035
作者在 pr 中评论,现实的基准测试是非常困难,这里是使用 @matklad 的 https://github.com/matklad/lock-bench 测试用例,使用 64C/128T AMD Threadripper 机器得到的一些结果。
基准测试得到的结果:
给 Cargo 依赖打补丁
本博客会介绍 Cargo 的补丁机制,Cargo 补丁允许我们临时更改项目所依赖的 crate 的版本。该博客展示各种示例,并指出 Cargo 书籍所涵盖范围之外的边缘和 footguns 案例。官方文档较为简洁,作者花了很长时间处理其中没有提到的一些案例。
更多请阅读原文:https://gatowololo.github.io/blog/cargo-patch/
slint-ui 项目
slint-ui 项目 0.2.2 版本更新,由 rust 实现,是一个简单、轻量级的原生 Rust UI 工具包,可以有效地为任何显示器开发流畅的图形用户界面:嵌入式设备和桌面应用程序。它同时支持多种编程语言,例如 Rust、C++ 或 JavaScript。
项目地址:https://github.com/slint-ui/slint
社区学习交流平台订阅:
- Rust.cc论坛: 支持rss
- 微信公众号:Rust语言学习交流