【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較( 二 )


文章插圖
18、例如我要用一個time包來做獲取時間的 。我直接選個最新版本,0.3.15

【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
然后在 cargo.toml里面,在dependencies里面添加該包的名稱和版本號 。添加以后 , 會自動搜索有關版本進行下載引用 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
19、然后在代碼內進行引入 。引入包,使用  extern crate 包名稱 。例如time 。use 類似C#里面的 using,可以using包內的一些功能或者模塊 。例如我要獲取time里面的now()方法,不過這個包看來現在沒有這個方法了 。
Rust這方面的語法和C++還是比較接近,通過 :: 來進行引出下一級;類似.NET里面的 XXX.XXX的這個句點 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
20、咱們換一個 , 換成 chrono這個包
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
21、然后引入有關版本進來,同上面的time操作 。因為time包沒有我要的 , 所以就干掉就好了 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
22、引入包,以及使用它里面的所有功能模塊,可以使用*來代替,這點跟Java或Python比較類似 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
23、然后寫一個累加器,用來做性能測試使用 。例如,從1累加到10億 。代碼可見下圖 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
24、此處我再創建一個.NET 6都控制臺程序 , 也做同樣的事情,看看誰更快 。有關代碼,如下圖所示,功能與Rust的代碼一模一樣 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
25、為了更加公平,咱們把程序都編譯為release版本 。使用命令 cargo build --release  可以指定編譯為release版本
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
26、VS上對.NET 6開發的程序,也編譯成release版本 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
27、為了方便查看效果,我們都在控制臺下面準備好這兩個程序 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
28、兩個程序都運行一下看看效果 ??梢园l現各自的大概耗時 。Rust大約耗費40~50MS , .NET6編寫的大約耗費600~700MS,臥槽,差距有點大 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
29、那再來個中間的語言,C++來看看效果 。寫一個功能一模一樣的C++程序,也編譯為release版本,然后再看效果 。由于C++版本輸出詳細時間,包括毫秒等 , 寫起來比較啰嗦,所以就簡單點 , 直接輸出耗時的毫秒數了 。有關代碼以及說明,見下圖 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
30、C++的運行輸出結果 , 大約接近200MS,比.NET6快400MS,但是比Rust居然差距也這么多?unbelievable!
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
31、為了客觀一點,咱再打開Rust與.NET6的程序,以及和C++程序,再運行一下看看結果 。結果如下圖所示,還是差不多的保持上面的結果 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
32、總結一下:Rust依靠強大的性能,以及安全性(你寫代碼的時候就可以感受到了,如果被檢測到代碼不夠安全,波浪線或者錯誤提醒會一直提示你,直到你換個寫法),已經開始被更多的人采納 。一些科普類的,就不繼續描述了 , 大佬們要是感興趣,可以自行去探索一下 。如需轉載,請注明文章作者以及出處 。
作者:Wesky, 原文出處【https://www.cnblogs.com/weskynet/p/16808320.html】
如需以上的三個demo源碼項目 , 可以微信掃下方二維碼,在公眾號內發送【20221019】即可獲取 。
【番外篇】Rust環境搭建+基礎開發入門+Rust與.NET6、C++的基礎運算性能比較

文章插圖
以上就是該文章的全部內容,要是覺得有幫助,歡迎一鍵三連?。。。?
如果大佬們對.NET方向的技術感興趣,也歡迎在原文最下方加入我的QQ群 。如需加微信群,可以私聊我微信進行加群:

推薦閱讀