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 社区学习交流平台订阅:
1
共 2 条评论, 1 页
评论区
写评论我认为一个有经验且有追求的C++程序员,看到Rust的理念都会被其吸引,我开发时间有10年了,C++用的比较浅,基本是在C with class的水平,C#开发比较多,现在的公司很小,Rust我也只是写写小工具、针对性的数据分析软件这些,不指望团队用,可能会写几个小的库给团队用吧。
生态方面,我觉得Rust反而是优势,因为没那么多乱七八糟的编译系统。至于缺少库,我觉得还好吧。
--
👇
GUO: 我也超过10年C++,正在深入学习rust中,个人对这个语言是用越用越爱。
但对于团队来说,很难带动大家,别说转型了,就当成是业余爱好,大家都提不起兴趣,刚提个话头就能被找各种理由来否定rust,什么生态啊,什么一样少不了unsafe啊。哈哈,反正是很逗的。
我也超过10年C++,正在深入学习rust中,个人对这个语言是用越用越爱。
但对于团队来说,很难带动大家,别说转型了,就当成是业余爱好,大家都提不起兴趣,刚提个话头就能被找各种理由来否定rust,什么生态啊,什么一样少不了unsafe啊。哈哈,反正是很逗的。