From 83b5e4a5611654804c69190eeab6c2586993a954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Ortega=20Froysa?= Date: Thu, 11 Dec 2025 06:34:42 +0100 Subject: [PATCH] Limit known-prime multiples marking until sqrt(end). --- src/worker.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/worker.rs b/src/worker.rs index 886bb87..9ee1bfc 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -28,8 +28,14 @@ pub fn work_segment(known_primes:&Vec, start:usize, end:usize) -> Vec let mut sieve = vec![true; end - start]; let mut found_primes = Vec::new(); + let sqrt_end = f64::sqrt(end as f64) as usize; + for p in known_primes { let prime = *p as usize; + if prime > sqrt_end { + break; + } + let modu = start % prime; let mut mult = if modu == 0 { start