小编boi*_*llu的帖子

为什么 Rust 中的 range/loop 比 java 慢?

我有一个程序,对于所有小于或等于输入的整数,找到可以表示为两个立方之和的数字,两次,又名拉马努金数字问题。

我用 Java 和 Rust 编写了这个,但是,它在 Rust 中的运行速度比 Java 慢两倍多。

我能做些什么来让它表现得更好,或者以其他方式改进它吗?

铁锈代码:

use num_integer::Roots;
fn main() {
    let v = 984067;
    // let v = 87539319;
    for i in 1..=v {
        ramanujan(i)
    }
}
fn ramanujan(m: i32) {
    let maxcube = m.cbrt();
    let mut res1 = 0;
    let mut res2 = 0;
    let mut _res3 = 0;
    let mut _res4 = 0;
    for i in 1..=maxcube {
        for j in 1..=maxcube {
            if i * i * i + j …
Run Code Online (Sandbox Code Playgroud)

java performance rust

7
推荐指数
1
解决办法
747
查看次数

标签 统计

java ×1

performance ×1

rust ×1