Avatar for the uutils user
uutils
num-prime
BlogDocsChangelog

Optimize factorization hot paths (~25% speedup on factorize64)

#67Merged
Comparing
sylvestre:perf
(
81c5f3b
) with
main
(
309566b
)
CodSpeed Performance Gauge
+52%
Improvement
1
Untouched
19
Skipped
9

Benchmarks

29 total
num-prime (this crate)
bench/benches/bench.rs::benches::bench_factorization::factorize (u64)
CodSpeed Performance Gauge
+52%
24.8 ms16.3 ms
glass_pumpkin (BPSW)
bench/benches/bench.rs::benches::bench_is_prime::primality check (u256)
CodSpeed Performance Gauge
+1%
28.2 µs28 µs
glass_pumpkin
bench/benches/bench.rs::benches::bench_is_prime::primality check (u256)
CodSpeed Performance Gauge
+1%
28.2 µs28 µs
glass_pumpkin
bench/benches/bench.rs::benches::bench_prime_gen::prime generation (256 bits)
CodSpeed Performance Gauge
+1%
984.6 µs977.7 µs
num-prime (this crate)
bench/benches/bench.rs::benches::bench_is_prime::primality check (u64)
CodSpeed Performance Gauge
0%
1.8 ms1.7 ms
num-prime (this crate)
bench/benches/bench.rs::benches::bench_is_prime::primality check (u256)
CodSpeed Performance Gauge
0%
2.7 ms2.7 ms
num-prime (this crate)
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u256)
CodSpeed Performance Gauge
0%
4 ms3.9 ms
num-prime (this crate)
bench/benches/bench.rs::benches::bench_prime_gen::safe prime generation (256 bits)
CodSpeed Performance Gauge
0%
4 s4 s
glass_pumpkin
bench/benches/bench.rs::benches::bench_prime_gen::safe prime generation (256 bits)
CodSpeed Performance Gauge
0%
10.5 ms10.5 ms
num-prime (this crate)
bench/benches/bench.rs::benches::bench_is_prime::primality check (u2048)
CodSpeed Performance Gauge
0%
68.9 ms68.9 ms
glass_pumpkin (BPSW)
bench/benches/bench.rs::benches::bench_is_prime::primality check (u2048)
CodSpeed Performance Gauge
0%
18.8 µs18.8 µs
num-prime (this crate)
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u2048)
CodSpeed Performance Gauge
0%
68.9 ms68.9 ms
primal-check
bench/benches/bench.rs::benches::bench_is_prime::primality check (u64)
CodSpeed Performance Gauge
0%
3.2 ms3.2 ms
num-prime (this crate)
bench/benches/bench.rs::benches::bench_prime_gen::prime generation (256 bits)
CodSpeed Performance Gauge
0%
8.9 ms8.9 ms
glass_pumpkin
bench/benches/bench.rs::benches::bench_is_prime::primality check (u64)
CodSpeed Performance Gauge
0%
213 ms213.2 ms
glass_pumpkin
bench/benches/bench.rs::benches::bench_is_prime::primality check (u2048)
CodSpeed Performance Gauge
0%
18.8 µs18.8 µs
glass_pumpkin
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u2048)
CodSpeed Performance Gauge
-1%
13.9 µs14 µs
glass_pumpkin (BPSW)
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u2048)
CodSpeed Performance Gauge
-1%
13.9 µs14.1 µs
glass_pumpkin
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u256)
CodSpeed Performance Gauge
-2%
8.8 µs9.1 µs
glass_pumpkin (BPSW)
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u256)
CodSpeed Performance Gauge
-3%
8.9 µs9.2 µs
number-theory
bench/benches/bench.rs::benches::bench_factorization::factorize (u64)
Skipped
39.5 ms*
number-theory
bench/benches/bench.rs::benches::bench_is_prime::primality check (u64)
Skipped
1.7 ms*
num-primes
bench/benches/bench.rs::benches::bench_is_prime::primality check (u2048)
Skipped
105.7 µs*
num-primes
bench/benches/bench.rs::benches::bench_prime_gen::safe prime generation (256 bits)
Skipped
519.6 ms*
num-primes
bench/benches/bench.rs::benches::bench_is_prime::safe primality check (u2048)
Skipped
96.6 ms*

Commits

Click on a commit to change the comparison range
Base
main
309566b
-96.45%
Optimize factorization hot paths (~25% speedup on factorize64)
8fabe80
8 days ago
by sylvestre
+27.25%
bench: gate all num-primes benchmarks behind feature flag
aa9fd36
7 days ago
by sylvestre
×2.2
bench: exclude non-deterministic num-primes benchmarks by default
81c5f3b
7 days ago
by sylvestre
© 2026 CodSpeed Technology
Home Terms Privacy Docs