网站首页 > 基础教程 正文
好奇Rust的运行效率到底如何,故做了一个同一算法两款语言运行速度比较,结果还是蛮有趣的。
先说结论:rust的运行速度比Python快,但是在求解质素问题上,使用pypy编译py代码,速度也比较快。请看过程!
1、求解的问题(算法)
求解的问题是:计算并列出整数2到100000内所有的质素,并且将求得的质数准入列表中,最后一次性显示出来。
2、Python代码如下:
# coding:UTF-8
import time
def timer_decorator(func):
def timer():
print("Start!")
start_time = time.time()
func()
end_time = time.time()
print(f'{"%.2f" % (end_time - start_time)}s')
return timer
@timer_decorator
def main():
num: int = 100000
quality_num_list = []
for i in range(2, num + 1):
for j in range(2, i + 1):
if i % j == 0 and i != j:
break
if i == j:
quality_num_list.append(i)
print(quality_num_list)
if __name__ == '__main__':
main()
3、Rust代码如下:
fn main() {
let mut list_quatily:Vec<u64> = Vec::new();
let num: u64 = 10000;
print!("Prime numbers up to {num}:\n");
for i in 2..=num {
for j in 2..=i {
if i % j == 0 && i != j {
break;
}
if i == j {
list_quatily.push(i);
}
}
}
println!("{:?}", list_quatily);
}
运行效率比较
1、Python运行耗时为16.22秒。
2、Rust运行耗时为2.542秒。
3、使用PYPY编译Python代码的运行耗时为1.16秒。
总结:
1、rust的速度要比CPython速度要快;
2、如果使用Pypy编译Python代码,要比RUST快。
惊不惊喜?意不意外?
猜你喜欢
- 2024-12-13 人教版小学六年级数学下册期末试卷9
- 2024-12-13 Python的for语句与C或Pascal的区别
- 2024-12-13 截尾法判断整除——同余定理的应用
- 2024-12-13 有哪些好玩的 Python 代码?
- 2024-12-13 爆肝整理!大牛总结出的13道经典Python面试题,你都会吗?
- 2024-12-13 记住这份软件测试八股文还怕不能拿offer?你值得拥有
- 2024-12-13 如何在你的项目中混合 Rust 和 Python
- 2024-12-13 过瘾!100道Python入门练习题
- 2024-12-13 2020-09-20:如何判断一个数是质数?
- 2024-12-13 【python】(9)迭代与生成器
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)