I have two similar loops in python. First one is exactly same as second one except that I attempted to optimize second loop by remembering result of repeated operation(s) in a variable
from timeit import default_timer as timer
loop1_time = 0
loop2_time = 0
for i in range(101):
    start = timer()
    for loop_number in range(50):
        if loop_number % 3 == 0 and loop_number % 5 == 0:
            a = 1
            # print('FizzBuzz {} ' .format(loop_number))
        elif loop_number % 5 == 0:
            # print('Buzz {} '.format(loop_number))
            b = 2
        elif loop_number % 3 == 0:
            # print('Fizz {}' .format(loop_number))
            c = 3
    end = timer()
    loop1_time = loop1_time + (end - start)
    # print("First loop took " + str(end - start))
    start = timer()
    for loop_number in range(50):
        answer_of_3 = loop_number % 3
        answer_of_5 = loop_number % 5
        if answer_of_3 == 0 and answer_of_5 == 0:
            # print('FizzBuzz {} ' .format(loop_number))
            d = 1
        elif answer_of_3 == 0:
            # print('Buzz {} '.format(loop_number))
            e = 2
        elif answer_of_5 == 0:
            # print('Fizz {}' .format(loop_number))
            f = 3
    end = timer()
    loop2_time = loop2_time + (end - start)
    # print("Second loop took " + str(end - start))
print("First loop on average took " + str(loop1_time / 101))
print("Second loop on average took " + str(loop2_time / 101))
The two prints in the end consistently show that second loop was a little slower than first loop. However by saving the results of a couple pf operations to avoid repeating the execution of those operation I was under the impression that Second loop would be faster.
Any thoughts on why Second loop is slower?
 
    