您现在的位置是:亿华云 > IT科技
你应该尝试的12个杀手级Rust库
亿华云2025-10-09 06:58:05【IT科技】4人已围观
简介我刚刚在我的一个较大的Rust项目中跨越了20K LOC,我想暂停一下并分享一些我所使用的伟大的Rust库。我还计划在未来的文章中讨论一些话题,比如在Rust与Go之间做决定,或者决定是否为你的团队或
我刚刚在我的应该一个较大的Rust项目中跨越了20K LOC,我想暂停一下并分享一些我所使用的尝试伟大的Rust库。
我还计划在未来的杀手文章中讨论一些话题,比如在Rust与Go之间做决定,应该或者决定是尝试否为你的团队或项目采用Rust,以及在你决定接受它之后应该期待什么。杀手
Clap
用Rust构建CLI工具是应该天作之合--看看ripgrep和Rust自己的Cargo。超快的尝试启动时间,较小的杀手二进制大小,类型安全的应该代码,运行时安全的尝试二进制,交叉编译到你可能想要的杀手几乎所有架构。
要开始构建CLI工具,应该clap是尝试一个非常棒的CLI库,它是杀手如此之好,我不认为有任何理由像其他语言中常见的那样有一打替代品。免费信息发布网事实上,如果你想尝试Rust,我建议先看看rustup,然后试试这个库,看看它能给你带来什么。
Serde
和clap一样,serde是一个功能丰富、性能卓越的通用序列化库。事实上,想想Java和.NET,我不记得有哪个序列化库从各方面都做得这么好--人体工程学和性能。
不要自己尝试从/向文件读/写,相反--先写好你的数据类型,让serde做所有的工作。作为奖励,你可以在一切完成后混合和匹配数据格式(YAML、JSON)。
Reqwest
Reqwest遵循HTTP客户端库的黄金标准,如request、superagent和requests,并将其完美地应用于Rust。它是我的HTTP客户端的首选库,功能丰富且完整。
Rayon
Rayon是一个 "Rust的网站模板数据并行库",简单地说,给它数据,它就知道如何把它分割成独立的块,让你所有的CPU核心工作。
或者更简单地说,给它一个列表,它就会在上面并行化映射,还有其他功能。这对CLI工具非常有用;不是所有的语言都能在命令行上实现并行化。
Slog
slog是一个非常完整的Rust日志套件。它是一个核心,后面有很多插件,比如终端输出的term,JSON输出的json等等。
你应该知道,还有log,它的目标是成为标准Rust的一部分,是一个更简单的选择。b2b信息网出于这个原因,我个人已经从slog转到了log。
itertools
在你的列表上多加几个运算符也无妨,尤其是许多或大多数运算符是零成本的。有了itertools,你就可以得到这些。如果你是一个像lodash这样的库的粉丝,那就太好了。
Hyper
hyper是一个用Rust编写的快速HTTP实现,也是为Rust编写的(相对于那些用C编写的,涵盖了动态语言的性能)。你会发现hyper几乎出现在你使用的所有高级库中,如果你直接使用它,感觉有点像Netty或Finagle。我发现自己既把hyper当作一个HTTP工具箱(使用其中的部分),也把它当作一个整体,在它上面建立一个服务器。
猜猜看,什么东西不使用Hyper?是Actix。Actix试图变得更简单,从我的经验来看--它能做到。我经常使用Actix而不是Hyper,因为它更高级,对于服务的目的来说,更成熟。今天,我默认直接使用Actix而不是Hyper,除非我需要建立一些低级别的东西,或者有一个直接需要Hyper的库(有很多)。
PyO3
PyO3是在Python中构建Rust库(或者说是Rust中的Python库? )的比较流行的库之一。如果你想看看这种混合的结果,这里有hyperjson--一个由Rust的serde支持的Python的JSON库。
依靠Rust的安全性和Serde的性能,你几乎不费吹灰之力就得到了一个安全的、最快的Python JSON库之一。
想在3个步骤中改进Python吗?
找到一个伟大的Rust 库 用PyO3包住它 注意:PyO3(可能还有rust-cpython)可能有一些设计缺陷,可能会放弃安全。proptest
proptest是Rust的一个基于属性的测试库。自从我在短暂的Haskell工作中使用QuickCheck后,我就在我使用的每一种语言中寻找这类库--这些库提出它们会通过智能地思考一组输入数据来自动为你找到一个失败的测试案例,使你的代码陷入困境。
libloading
对于那些想把Go或其他c-lib库混入Rust前端的人来说,libloading使其变得简单。
在过去的一年里,我用Rust构建了大中型项目,我接受Rust生态系统的某些部分还没有准备好,并且不吝于用其他语言(主要是Go)来构建这些项目--只是用libloading把所有东西都挂回Rust中。
性能
最后你应该知道的是,干净、简单的Rust在默认情况下是非常快的。这里有一个关于正确时间的谈话。
还有几个我几乎一直喜欢使用的库,它们在Rust已经提供的默认情况下给你带来了不错的性能提升。
regex - 一个Regex库,速度真的很快,包括与其他编程语言相比。 jemalloc - 最快的内存分配器之一,在最近的Rust版本中被放弃了,转而使用操作系统的默认值。我发现它比OSX的默认分配器更快,但只有在你知道你需要它的时候才使用它,因为它给你的二进制文件增加了一些重量(大约700kb)。摘要
Rust,用一个词来形容就是--强大。
但还有很多话要说。例如--与其他编程语言相比,Rust也是极其年轻的。
很赞哦!(6592)
相关文章
- a、变更前的公司证件扫描件(代码证或者营业执照)及联系人身份证复印件、变更后的公司证件扫描件(代码证或者营业执照)及新的联系人身份证复印件;身份证复印件需本人签名,公司证件复印件需加盖公章。
- 新手可以注册cc域名吗?cc域名有什么特点?
- 公司在注册域名时还需要确保邮箱的安全性。如果邮箱不安全,它只会受到攻击。攻击者可以直接在邮箱中重置密码并攻击用户。因此,有必要注意邮箱的安全性。
- 为什么喜欢国外注册域名?国外注册域名注意什么?
- 4、注册门槛低
- 互联网其实拼的也是人脉,域名投资也是一个时效性很强的东西,一个不起眼的消息就会引起整个域名投资市场的动荡,因此拓宽自己的人脉圈,完善自己的信息获取渠道,让自己能够掌握更为多样化的信息,这样才更有助于自己的域名投资。
- 打开https://www.aizhan.com/输入自己想要查询的域名然后按回车键,如果做过网站都会有数据显示出来
- 前面这两个步骤都是在本机完成的。到这里还没有涉及真正的域名解析服务器,如果在本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名了。
- (4) 使用何种形式的域名后缀对网页搜索影响不大,但域名后缀也需要考虑方便用户记忆
- 4、参加域名拍卖会
热门文章
站长推荐
其次,一般域名注册有一个获取密码的按钮,域名注册商点击后会向您发送密码。在得到域名注册商发送的密码后,将其传输到域名服务提供商网站,然后输入密码,此时域名呈现申请状态。提交申请后,原注册人通常会向您发送一封电子邮件,询问您是否同意转让。此时,您只需点击同意转移按钮,域名注册商就可以成功转移。
付款完成后,您只需耐心等待,如果您注册成功,系统会提示您。这里需要注意的是,域名是一个即时产品,只有在最终付款成功时才能预订,注册成功后不能更改。
二、如何选择合适的域名
旧域名的外链是否会对新建站点产生影响?
评估域名涉及的行业规模与发展状况成正比。
在此期间,他们每天仍在这里卖大米,在理财方面个人感情有待提高。因为现在是收米的最佳时机。