From ba3478e6ce2b22d3aca95f40918953ccb3fd5831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Ortega=20Froysa?= Date: Wed, 10 Dec 2025 13:12:49 +0100 Subject: [PATCH] Optimize marking of known composites. --- src/worker.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/worker.rs b/src/worker.rs index 033925c..886bb87 100644 --- a/src/worker.rs +++ b/src/worker.rs @@ -30,11 +30,14 @@ pub fn work_segment(known_primes:&Vec, start:usize, end:usize) -> Vec for p in known_primes { let prime = *p as usize; - let mut mult = prime * prime; + let modu = start % prime; + let mut mult = if modu == 0 { + start + } else { + start + prime - modu + }; while mult < end { - if mult > start { - sieve[mult - start] = false; - } + sieve[mult - start] = false; mult += prime; } }