「Julia が Python より約25倍速いとあるコード」を Rust で書いたらさらに1.5倍速かった

こんにちは。
タイトルが完全にネタバレですが、以下のコードを Rust で書き直してみたという記事です。
smooth-pudding.hatenablog.com

上の記事と同様のロジックで「10万以下の素数の個数を数えるコード」をRust で書くとこんな感じになりました:

fn main() {
    println!("{}", num_primes(&100000));
}

fn is_prime(num: &u32) -> bool {
    if num <= &1 {return false};
    for i in 2..*num {
        if num % i == 0 {
            return false;
        }
    }
    return true;
}

fn num_primes(maxnum: &u32) -> u32 {
    let mut count = 0;
    for i in 1..=*maxnum {
        if is_prime(&i) {count += 1;}
    };
    return count;
}

(Rust は初心者なので下手くそなコードかもしれませんが許してください(小声))
これを cargo build --release して時間計測をしてみたところ以下のようになりました:

$ time ./count_primes
9592

real	0m1.866s
user	0m1.860s
sys	0m0.004s

雑な比較ですが、前回 Julia は約2.8秒だったので、2.8/1.86≒1.5倍速く実行できました。