Doubt in modular exponentation

I am doubtful if modular exponentation is faster than regular modulo calculation.
TC of modular exponentation-O(logN)
TC of regular modulo exponentation-O(N)
I’ve compared both methods in Python, I’ve got the following results

from time import time
def mod(x,y,m):
    res=1
    x=x%m
    c=0
    if x==0:
        return 0
    while(y>0):
        if y%2==1:
            res=(res*x)%m
        y=y>>1
        x=(x*x)%m
        c+=1
    return res

x,y,m=17,100,10**9+7

t1=time()
a1=(x**y)%m
print("Time for calculating regular modulo(ms)->",time()-t1)

t2=time()
a2=mod(x,y,m)
print("Using modular exponentation(ms)->",time()-t2)

I am getting the following output:-

Time for calculating regular modulo(ms)-> 3.0994415283203125e-06
Using modular exponentation(ms)-> 4.5299530029296875e-06

Can anyone clear my doubt

Firstly, Formatting.

Secondly, That’s because y is small. Use y=10^7 . Also pow(x,y,m) uses modular exponentiation. You don’t need to write it yourself.

Thank you. This cleared my doubt.

You didn’t format, though…