“C++ 和 Java 的发展速度比 C 语言更快,但肯定的是,C 语言仍然会长期存在。”
比较这两种语言速度的方法是,通过实现常用的排序算法,并在不同的元素范围运行,比较哪种语言在排序时耗时最长。我们使用的排序算法包括:1. Bubble Sort(冒泡排序)
2. Insertion Sort(插入排序)
3. Selection Sort(选择排序)
4. Shell Sort(希尔排序)
5. Heap Sort(堆排序)
以上是常见的排序算法的时间复杂度,通过观察最坏情况下的复杂度,我们可以大致知道哪种排序技术会在它们之间表现最差。冒泡排序 Bubble sort 最坏情况复杂度为O(N²),与其他排序算法相比,可能会出现表现最差的情况。我们将要生成的结果还将输出比较元素排序所需的时间,来帮助我们了解最坏情况下的时间复杂度。所以,我已经用 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.不同视角理解嵌入式开发中的“数据结构”~
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。