python跑一亿次循环_python、rust、julia循环10亿次的时间对比

一、python代码【原生】

import time

t1 = time.time()

sum = 0

for i in range(1000000001):

sum += 1

print(f"累积的和为{sum}")

print(f"10亿次循环耗时为:{time.time() - t1}")

CPU消耗25%左右

输出:

累积的和为1000000001

10亿次循环耗时为:98.97694635391235

耗时98秒,古德!

二、rust代码

use std::time::{Duration, Instant};

let start = Instant::now();

let mut sum = 0;

for i in 1..1000000000{

//println!("{}",i)

sum += 1;

}

let duration = start.elapsed();

println!("累积的和为:{:?}",sum);

println!("循环的耗时: {:?}", duration);

红色箭头处为CPU耗用峰值

输出:

累积的和为:999999999

循环的耗时: 4.8233ms

这个速度,秒杀python!吓死老头子了!

三、python用numba加速一下看看

import numba as nb

@nb.jit

def add():

num = 0

for i in range(1000000001):

num += 1

return num

t1 = time.time()

%timeit add()

输出:

86.3 ns ± 2.27 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

这个速度,吓死老子了!numba静态编译这么变态!CPU都不带抖一下,40年的老胃都被吓了溃疡了!!

四、julia版本

function fn()

sum = 0

for i in 1:1000000000

sum += 1

end

print("sum: ",sum)

end

@time fn()

@time fn()

@time fn()

输出:

sum: 1000000000 0.010965 seconds (21.06 k allocations: 1.183 MiB)

sum: 1000000000 0.000169 seconds (18 allocations: 640 bytes)

sum: 1000000000 0.000243 seconds (21 allocations: 704 byte

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RustPython和Golang是三种不同的编程语言,各有优缺点,下面是它们的详细优劣对比: Rust: 优点: 1. 静态类型、内存安全和高性能的编程语言,具有类似于C和C++的底层控制; 2. 可以保证线程安全,支持并行和异步编程; 3. 内存管理方面比C++更安全,有许多内存安全功能,如所有权和借用,可避免内存泄漏和数据竞争; 4. 社区活跃,有许多有用的库和工具。 缺点: 1. 学习曲线较陡峭,需要花费一定时间学习所有权和借用等概念; 2. 语言特性较多,代码量相对较大; 3. 由于语言特性的限制,Rust可能不适合开发一些大型复杂系统。 Python: 优点: 1. 简单易学,语法简洁,可以快速开发原型; 2. 具有强大的标准库和第三方库,可以处理各种任务; 3. 支持多种编程范式,如面向对象、函数式和面向过程编程; 4. 可读性好,常被用于教学和科学计算。 缺点: 1. 速度比较慢,不适合实时性要求高的场景; 2. Python的代码执行效率低于C++和Java等语言; 3. 由于动态类型的限制,Python不太适合大型复杂系统的开发。 Golang: 优点: 1. 静态类型语言,编译速度快,运行速度也很快; 2. 支持并发和并行编程,有goroutine和channel等特性; 3. 语法简洁,易于阅读和维护; 4. 适合构建高性能和可伸缩的网络应用程序。 缺点: 1. 内存管理方面不如Rust安全; 2. 语言特性相对较少,不如其他语言功能丰富; 3. 在处理一些密集计算或科学计算方面,Golang的性能可能不如其他专业的语言。 综合来看,选择哪种语言取决于具体的需求和场景。如果需要高性能和内存安全,可以选择Rust;如果需要快速原型开发和科学计算,可以选择Python;如果需要高并发和可伸缩的网络应用程序,可以选择Golang。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值