激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 你應該嘗試的12個殺手級Rust庫

你應該嘗試的12個殺手級Rust庫

2021-09-29 22:28今日頭條聞數起舞 編程技術

我剛剛在我的一個較大的Rust項目中跨越了20K LOC,我想暫停一下并分享一些我所使用的偉大的Rust庫。

我剛剛在我的一個較大的Rust項目中跨越了20K LOC,我想暫停一下并分享一些我所使用的偉大的Rust

我還計劃在未來的文章中討論一些話題,比如在Rust與Go之間做決定,或者決定是否為你的團隊或項目采用Rust,以及在你決定接受它之后應該期待什么。

你應該嘗試的12個殺手級Rust庫

Clap

用Rust構建CLI工具是天作之合--看看ripgrep和Rust自己的Cargo。超快的啟動時間,較小的二進制大小,類型安全的代碼,運行時安全的二進制,交叉編譯到你可能想要的幾乎所有架構。

要開始構建CLI工具,clap是一個非常棒的CLI庫,它是如此之好,我不認為有任何理由像其他語言中常見的那樣有一打替代品。事實上,如果你想嘗試Rust,我建議先看看rustup,然后試試這個庫,看看它能給你帶來什么。

你應該嘗試的12個殺手級Rust庫

Serde

和clap一樣,serde是一個功能豐富、性能卓越的通用序列化庫。事實上,想想Java和.NET,我不記得有哪個序列化庫從各方面都做得這么好--人體工程學和性能。

不要自己嘗試從/向文件讀/寫,相反--先寫好你的數據類型,讓serde做所有的工作。作為獎勵,你可以在一切完成后混合和匹配數據格式(YAML、JSON)。

你應該嘗試的12個殺手級Rust庫

Reqwest

Reqwest遵循HTTP客戶端庫的黃金標準,如request、superagent和requests,并將其完美地應用于Rust。它是我的HTTP客戶端的首選庫,功能豐富且完整。

你應該嘗試的12個殺手級Rust庫

Rayon

Rayon是一個 "Rust的數據并行庫",簡單地說,給它數據,它就知道如何把它分割成獨立的塊,讓你所有的CPU核心工作。

或者更簡單地說,給它一個列表,它就會在上面并行化映射,還有其他功能。這對CLI工具非常有用;不是所有的語言都能在命令行上實現并行化。

你應該嘗試的12個殺手級Rust庫

Slog

slog是一個非常完整的Rust日志套件。它是一個核心,后面有很多插件,比如終端輸出的term,JSON輸出的json等等。

你應該知道,還有log,它的目標是成為標準Rust的一部分,是一個更簡單的選擇。出于這個原因,我個人已經從slog轉到了log。

你應該嘗試的12個殺手級Rust庫

itertools

在你的列表上多加幾個運算符也無妨,尤其是許多或大多數運算符是零成本的。有了itertools,你就可以得到這些。如果你是一個像lodash這樣的庫的粉絲,那就太好了。

你應該嘗試的12個殺手級Rust庫

Hyper

hyper是一個用Rust編寫的快速HTTP實現,也是為Rust編寫的(相對于那些用C編寫的,涵蓋了動態語言的性能)。你會發現hyper幾乎出現在你使用的所有高級庫中,如果你直接使用它,感覺有點像Netty或Finagle。我發現自己既把hyper當作一個HTTP工具箱(使用其中的部分),也把它當作一個整體,在它上面建立一個服務器。

你應該嘗試的12個殺手級Rust庫

猜猜看,什么東西不使用Hyper?是Actix。Actix試圖變得更簡單,從我的經驗來看--它能做到。我經常使用Actix而不是Hyper,因為它更高級,對于服務的目的來說,更成熟。今天,我默認直接使用Actix而不是Hyper,除非我需要建立一些低級別的東西,或者有一個直接需要Hyper的庫(有很多)。

你應該嘗試的12個殺手級Rust庫

PyO3

PyO3是在Python中構建Rust庫(或者說是Rust中的Python庫? )的比較流行的庫之一。如果你想看看這種混合的結果,這里有hyperjson--一個由Rust的serde支持的Python的JSON庫。

依靠Rust的安全性和Serde的性能,你幾乎不費吹灰之力就得到了一個安全的、最快的Python JSON庫之一。

想在3個步驟中改進Python嗎?

  • 找到一個偉大的Rust 庫
  • 用PyO3包住它
  • 注意:PyO3(可能還有rust-cpython)可能有一些設計缺陷,可能會放棄安全。

你應該嘗試的12個殺手級Rust庫

proptest

proptest是Rust的一個基于屬性的測試庫。自從我在短暫的Haskell工作中使用QuickCheck后,我就在我使用的每一種語言中尋找這類庫--這些庫提出它們會通過智能地思考一組輸入數據來自動為你找到一個失敗的測試案例,使你的代碼陷入困境。

你應該嘗試的12個殺手級Rust庫

libloading

對于那些想把Go或其他c-lib庫混入Rust前端的人來說,libloading使其變得簡單。

在過去的一年里,我用Rust構建了大中型項目,我接受Rust生態系統的某些部分還沒有準備好,并且不吝于用其他語言(主要是Go)來構建這些項目--只是用libloading把所有東西都掛回Rust中。

你應該嘗試的12個殺手級Rust庫

性能

最后你應該知道的是,干凈、簡單的Rust在默認情況下是非常快的。這里有一個關于正確時間的談話。

還有幾個我幾乎一直喜歡使用的庫,它們在Rust已經提供的默認情況下給你帶來了不錯的性能提升。

  • regex - 一個Regex庫,速度真的很快,包括與其他編程語言相比。
  • jemalloc - 最快的內存分配器之一,在最近的Rust版本中被放棄了,轉而使用操作系統的默認值。我發現它比OSX的默認分配器更快,但只有在你知道你需要它的時候才使用它,因為它給你的二進制文件增加了一些重量(大約700kb)。

摘要

Rust,用一個詞來形容就是--強大。

但還有很多話要說。例如--與其他編程語言相比,Rust也是極其年輕的。

原文地址:https://www.toutiao.com/a7012499999946883597/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av性色全交蜜桃成熟时 | 久久国产综合视频 | 久久激情免费视频 | 国产一区二区三区精品在线观看 | 国产视频精品在线 | av成人在线电影 | 成人黄视频在线观看 | 亚洲精品 在线播放 | 欧美成人黄色小视频 | 久久这| 免费观看欧美一级片 | 亚洲电影免费观看高清完整版在线观 | 九九精品在线观看视频 | 天堂精品久久 | 久久av喷吹av高潮av懂色 | tube7xxx| 草草久 | 日本人乱人乱亲乱色视频观看 | 国产精品视频中文字幕 | 亚洲国产成人久久一区www妖精 | 国产一级一国产一级毛片 | 日韩一级片免费 | 国产乱乱视频 | 爱操av| videos高潮| 久久美女免费视频 | 国产亚洲精品精 | 国产一级做a爱片在线看免 2019天天干夜夜操 | 亚州综合 | 成人性视频在线 | 久草在线最新免费 | 狠狠撸电影| 国产一区二区三区影视 | 天天艹综合 | 蜜桃精品视频在线观看 | 51色视频| 成人免费一区二区三区在线观看 | av日韩一区二区三区 | 在线播放91| 久草免费新视频 | 国产午夜精品理论片a级探花 |