小编Luk*_*uke的帖子

为什么 Rust WASM 在计算素数时比 JavaScript 慢

我编写了一段非常基本的代码来计算 Rust(编译为 WASM)和 JavaScript 中的数字是否为素数,以对算术性能进行基准测试。

我满心期待 Rust/WASM 能够打败 JavaScript。在我做过的所有其他算术基准测试中,Rust/WASM 似乎比 JavaScript 更有优势,或者至少与之匹配。然而,在这个测试中,JavaScript 似乎远远优于 WASM,我并没有真正解释为什么会这样。

生锈代码:

pub fn calculate_is_prime(number: u64) -> bool {
    if number == 1 {
        return false;
    }
    if number == 2 {
        return true;
    }
    for i in 2..number {
        if number % i == 0 {
            return false;
        }
    }
    return true;
}

#[wasm_bindgen]
pub fn bench_rs(max: u64) -> u64 {
    (1..=max).map(|n| calculate_is_prime_rs(n) as u64).sum()
}
Run Code Online (Sandbox Code Playgroud)

JavaScript 代码:

function calculateIsPrime(number) {
    if (number === 1) { …
Run Code Online (Sandbox Code Playgroud)

javascript performance rust webassembly rust-wasm

10
推荐指数
1
解决办法
1584
查看次数

标签 统计

javascript ×1

performance ×1

rust ×1

rust-wasm ×1

webassembly ×1