rustup 慢_rust为什么跑得比js慢

问题描述

实现一个计算斐波那契数列的递归函数, rust代码和js代码在我的电脑上耗时都是11秒, js甚至比rust快一点

问题出现的环境背景

本人刚接触rust,听说它的性能可以和C++媲美,所以就想比较一下到底比js快多少,可是程序跑出来的结果和想象中的不太一样,顺带一提,在我同事的电脑上用C++跑耗时7秒,当传入参数为50时,他那边C++耗时73秒,我这边rust耗时132秒,差别太大了

相关代码

rust代码:

extern crate stopwatch;

use stopwatch::{Stopwatch};

fn fid(num: u64) -> u64 {

match num {

0 => 0,

1 => 1,

_ => fid(num - 1) + fid(num - 2)

}

}

fn main(){

let sw = Stopwatch::start_new();

let num = fid(45);

println!("{}",num);

println!("耗时: {}ms", sw.elapsed_ms());

}

js代码:

function fid(n) {

if (n == 0) return 0;

if (n == 1) return 1;

return fid(n-1) + fid(n-2)

}

fib(45)

你期待的结果是什么?实际看到的错误信息又是什么?

按理来说rust的速度应该比js快很多才对吧?希望大佬们能指点一下我是不是rust代码哪里用错了,或者是有什么地方可以优化的,谢谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值