< 返回版块

mook 发表于 2023-08-09 21:59

Tags: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 社区学习交流平台订阅:

评论区

写评论
asuper 2023-08-21 10:51

我认为一个有经验且有追求的C++程序员,看到Rust的理念都会被其吸引,我开发时间有10年了,C++用的比较浅,基本是在C with class的水平,C#开发比较多,现在的公司很小,Rust我也只是写写小工具、针对性的数据分析软件这些,不指望团队用,可能会写几个小的库给团队用吧。

生态方面,我觉得Rust反而是优势,因为没那么多乱七八糟的编译系统。至于缺少库,我觉得还好吧。

--
👇
GUO: 我也超过10年C++,正在深入学习rust中,个人对这个语言是用越用越爱。

但对于团队来说,很难带动大家,别说转型了,就当成是业余爱好,大家都提不起兴趣,刚提个话头就能被找各种理由来否定rust,什么生态啊,什么一样少不了unsafe啊。哈哈,反正是很逗的。

GUO 2023-08-19 15:00

我也超过10年C++,正在深入学习rust中,个人对这个语言是用越用越爱。

但对于团队来说,很难带动大家,别说转型了,就当成是业余爱好,大家都提不起兴趣,刚提个话头就能被找各种理由来否定rust,什么生态啊,什么一样少不了unsafe啊。哈哈,反正是很逗的。

1 共 2 条评论, 1 页