From d2591975a2b69aa0d431de37c86f20f0f276cd58 Mon Sep 17 00:00:00 2001 From: lohaswinner Date: Tue, 27 Dec 2022 02:01:30 +0900 Subject: [PATCH] Short circuit by square About 20% of execution time will be reduced. --- bench/algorithm/nsieve/1.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bench/algorithm/nsieve/1.py b/bench/algorithm/nsieve/1.py index 3e9efa67..e692c4d8 100644 --- a/bench/algorithm/nsieve/1.py +++ b/bench/algorithm/nsieve/1.py @@ -5,6 +5,9 @@ def nsieve(n): count = 0 flags = [True] * n for i in range(2, n): + if i * i >= n: + count += flags[i:].count(True) + break if flags[i]: count += 1 for j in range(i << 1, n, i):