当前位置:首页 > 技术分析 > 正文内容

Rust与Python运行速度的简单比较(rust pytorch)

ruisui883个月前 (02-03)技术分析18



好奇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快

惊不惊喜?意不意外?

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1227.html

标签: pypy3
分享给朋友:

“Rust与Python运行速度的简单比较(rust pytorch)” 的相关文章

总结了Vue3的七种组件通信方式,别再说不会组件通信了

写在前面本篇文章是全部采用的<script setup>这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档对两种方式的描述。本篇文章将介绍如下七种组件通信方式:propsemitv-modelrefsprovide/injecteventBusv...

gitlab 分支保护设置

一、功能描述代码管理中管理,我们把稳定的分支设置为保护,可以防止其他人员误操作(例如删除,合并,推送代码等)。二、Gitlab配置步骤1 点击项目Repository标签2.点击Expand标签3.配置如下:默认master是被保护的,而且只有维护人员具有推送和合并权限。设置保护分支,这里的beta...

软件测试-性能测试专题方法与经验总结

本文 从 性能测试流程,性能测试指标,性能监测工具,性能测试工具,性能测试基线,性能测试策略,性能瓶颈分析方法几个维度,进行知识总结和经验分享;详细见下图总结,欢迎大家补充;性能测试经验与思考1. 性能测试流程1.1. 性格规格评审1.2. 资源排期1.2.1. 人力资源1.2.2. 时间计划· 性...

《暗黑破坏神 2:重制版》PC 版 2.3 版本发布,支持英伟达 DLSS

IT之家 12 月 3 日消息,暴雪为《暗黑破坏神 2:重制版》PC 版发布了更新 2.3 版本,添加了“离线难度缩放”滑块(玩家可以在单人游戏时增加挑战和奖励的级别)、多项辅助功能和用户界面改进,以及英伟达 DLSS 支持。玩法改进:玩家现在可以在离线游戏的选项菜单中使用“游戏难度等级”,它提供与...

一起学Vue:路由(vue-router)

前言学习vue-router就要先了解路由是什么?前端路由的实现原理?vue-router如何使用?等等这些问题,就是本篇要探讨的主要问题。vue-router是什么路由是什么?大概有两种说法:从路由的用途上来解释路由就是指随着浏览器地址栏的变化,展示给用户的页面也不相同。从路由的实现原理上来解释路...

VUE-router

七.Vue-router1、什么是vue-routervue-router是vue.js官方路由管理器。vue的单页应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统页面切换是用超链接a标签进行切换。但vue里是用路由,因为我们用Vue做的都是单页应用,就相当于只有一个主的i...