FRand 是一个用 Rust 编写的非常快速、小巧且简单的伪随机数生成器。
FRand 使用简单的运算:异或、移位和乘法。比的SmallRng 快 7-40%,比 ThreadRng 快 2-3 倍。使用 FRand 的优点是它每秒可以比其他库生成更多的随机数。它还使用快速的非加密哈希算法生成高质量的随机数。
use frand::Rand;
let mut rng = Rand::new();
println!("{}", rng.gen::<u64>());
| rand::ThreadRng | rand::SmallRng | frand::Rand |
|---|---|---|
| 1.0x | 1.88x | 2.68x |
| rand::ThreadRng | rand::SmallRng | frand::Rand |
|---|---|---|
| 1.0x | 2.94x | 3.21x |
| rand::ThreadRng | rand::SmallRng | frand::Rand |
|---|---|---|
| 1.0x | 2.97x | 3.19x |
ReadMore:https://github.com/engusmaze/frand#example
作者决定切换到 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语言中文社区
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。