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语言中文社区