Untitled

 avatar
user_5084878
plain_text
a year ago
1.3 kB
3
Indexable
import timeit
# Original code
arr = []
original_code = """
for num in range(2, 30):
    i = 0
    for num_below in range(2, num+1):
        if num % num_below == 0:
            i += 1
    if i == 1:
        print(num)
"""

# Refactored code
refactored_code = """
for num in range(2, 30):
    for number_below in range(2, num+1):
        if num % number_below == 0 and number_below != num:
            break
    else:
        print(num)

"""
refactored_code1 = """
def sieve_of_eratosthenes(n):
    primes = []
    sieve = [True] * (n + 1)
    for p in range(2, n + 1):
        if sieve[p]:
            primes.append(p)
            for i in range(p * p, n + 1, p):
                sieve[i] = False
    return primes


primes = sieve_of_eratosthenes(29)
for prime in primes:
    print(prime)
"""
for i in range(30):
    refactored_time1 = timeit.timeit(stmt=refactored_code1, number=10000)
    original_time = timeit.timeit(stmt=original_code, number=10000)
    refactored_time = timeit.timeit(stmt=refactored_code, number=10000)

    arr.append(("Original code execution time:", original_time))
    arr.append(("Refactored code execution time:", refactored_time))
    arr.append(("Refactored code 1 execution time:", refactored_time1))
    arr.append('***********')
Editor is loading...
Leave a Comment