
“C++ 和 Java 的發展速度比 C 語言更快,但肯定的是,C 語言仍然會長期存在。”
比較這兩種語言速度的方法是,通過實現常用的排序算法,并在不同的元素范圍運行,比較哪種語言在排序時耗時最長。我們使用的排序算法包括:1. Bubble Sort(冒泡排序)
2. Insertion Sort(插入排序)
3. Selection Sort(選擇排序)
4. Shell Sort(希爾排序)
5. Heap Sort(堆排序)
以上是常見的排序算法的時間復雜度,通過觀察最壞情況下的復雜度,我們可以大致知道哪種排序技術會在它們之間表現最差。冒泡排序 Bubble sort 最壞情況復雜度為O(N2),與其他排序算法相比,可能會出現表現最差的情況。我們將要生成的結果還將輸出比較元素排序所需的時間,來幫助我們了解最壞情況下的時間復雜度。所以,我已經用 C 和 Rust 編寫了以上 5 種算法。對于輸入,我使用一個整數數組,并使用 C 語言中的隨機數生成器函數 rand() 和 Rust 中的 rand::Rng 在數組中填充隨機數。這個數組被作為排序算法的輸入,輸出記錄在一個矩陣中。測試三個范圍 1000,10000 & 100000 個元素的算法性能。我們設置運行了 100 次迭代,并取平均值來生成輸出結果。MacBook Pro(16英寸,2019年版本)clang 版本 12.0.0 (優化 flag?-O3)rustc 1.45.2 (優化 flag?-release)從輸出結果中可以非常清楚地看到,大部分結果是非常接近。對于每種排序算法和數組范圍,在某些情況下 Rust 表現更好,而在某些情況下 C 表現更好。在較小的元素范圍(1000 元素)中,除了插入排序之外,Rust 表現更好一些。對于 10000 元素的范圍,C 語言在每種排序算法下都表現得更好。條形圖也展示了所有情況下的運行結果,速度幾乎相同。項目代碼 Github :https://github.com/imrushabh/C_vs_Rust要得出哪種語言更快的結論是相當困難的,因為它取決于具體情況。但我們可以認為 Rust 在速度上是 C 語言的競爭對手,它比許多其他流行的語言如 Java 和 Python 速度更快。Rust 提供了很多功能,比如它注重速度、內存安全和并行,而且它也是開源的,我們可以使用 Rust 開發廣泛的新軟件應用,比如游戲引擎、操作系統、文件系統、瀏覽器組件和虛擬現實的模擬引擎。在未來的時間里,我們肯定會到處看到 Rust 的身影!!!
1.未來,傳感器技術要如何演進?
2.別用Keil了,CLion同樣可以用于STM32開發~
3.設計嵌入式硬件,有以下幾點注意事項!
4.一種單片機數據解析方法
5.眾說紛紜的 C 語言回調函數到底是什么鬼?這里有最好的解答!
6.不同視角理解嵌入式開發中的“數據結構”~

免責聲明:本文系網絡轉載,版權歸原作者所有。如涉及作品版權問題,請與我們聯系,我們將根據您提供的版權證明材料確認版權并支付稿酬或者刪除內容。