【Rust日报】2023-08-09 十年 C++ 经验的开发人员转 Rust 的心路历程

FRand - 快速简单的伪随机数生成

FRand 是一个用 Rust 编写的非常快速、小巧且简单的伪随机数生成器。

FRand 使用简单的运算:异或、移位和乘法。比的SmallRng 快 7-40%,比 ThreadRng 快 2-3 倍。使用 FRand 的优点是它每秒可以比其他库生成更多的随机数。它还使用快速的非加密哈希算法生成高质量的随机数。

例子

use frand::Rand;

let mut rng = Rand::new();
println!("{}", rng.gen::<u64>());

速度

u128
rand::ThreadRng rand::SmallRng frand::Rand
1.0x 1.88x 2.68x
f64
rand::ThreadRng rand::SmallRng frand::Rand
1.0x 2.94x 3.21x
u64
rand::ThreadRng rand::SmallRng frand::Rand
1.0x 2.97x 3.19x

ReadMore:https://github.com/engusmaze/frand#example

十年 C++ 经验的开发人员转 Rust 的心路历程

作者决定切换到 Rust 主要是出于以下三个原因:

团队合作时的安全性和正确性

在团队中工作时,不可能雇用与高级团队成员一样擅长编写安全代码的初级团队成员。他们可以在指导和经验下编写安全的代码,但教他们需要很多时间。Rust 的内存安全会自动修复许多可能发生的错误。

构建系统和部署

C/C++ 缺乏构建系统,使用第三方库时会非常痛苦。

....

使用第三方库时的安全性和正确性

第三方库经常有错误,或者开发人员不知道如何安全地使用库,经常会导致内存泄漏、数据损坏或条件竞争。

....

ReadMore: https://www.reddit.com/r/rust/comments/15lft59/long_term_c_dev_moving_to_rust_and_my_reasons/


From 日报小组 mook 社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

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


请使用浏览器的分享功能分享到微信等