1

Literally the question. I want to understand the reason for i**2 being slower than i*i. Have a look here: https://colab.research.google.com/drive/14697AMb8q-8FWvMlL2gQWzdWaqbAs3DM?usp=sharing

import time

arr = [10**i for i in range(9)]
for itr in arr:
    t1 = time.time()
    for i in range(itr):
        j = i**2
    t2 = time.time() - t1

    t3 = time.time()
    for i in range(itr):
        j = i*i
    t4 = time.time() - t3 

    if t4 < t2:
        print('For size: ' + str(itr) + ' i*i is faster than i**2 by: ' + str(t2/t4))
    else:
        print('For size: ' + str(itr) + ' i*i is slower than i**2 by: ' + str(t2/t4))
For size: 1 i*i is faster than i**2 by: 2.3333333333333335
For size: 10 i*i is faster than i**2 by: 2.357142857142857
For size: 100 i*i is faster than i**2 by: 2.2268041237113403
For size: 1000 i*i is faster than i**2 by: 2.3355555555555556
For size: 10000 i*i is faster than i**2 by: 2.298842476094615
For size: 100000 i*i is faster than i**2 by: 2.1292789271958488
For size: 1000000 i*i is faster than i**2 by: 2.9631206809049386
For size: 10000000 i*i is faster than i**2 by: 2.4860016655891393
For size: 100000000 i*i is faster than i**2 by: 2.5626412357255153

0 Answers0