Merhabalar.
Python’da çalıştırılan bir programın/kodun ne kadar sürede gerçekleştiğini milisaniye cinsinden görmek için ne yapabilirim?
Mesela,
a = 10
b = 20
print(a*b)
200
43 ms'de tamamlandı.
Merhabalar.
Python’da çalıştırılan bir programın/kodun ne kadar sürede gerçekleştiğini milisaniye cinsinden görmek için ne yapabilirim?
Mesela,
a = 10
b = 20
print(a*b)
200
43 ms'de tamamlandı.
import time
class timer:
def baslat(self):
self.baslangic = time.perf_counter()
def bitir(self):
self.bitis = time.perf_counter()
fark = (self.bitis-self.baslangic)*1000
print(f"{fark} ms'de tamamlandı.")
timer = timer()
timer.baslat()
a = 10
b = 20
print(a*b)
timer.bitir()
quit()
200
0.032099999999993245 ms'de tamamlandı.
En basitinden:
import datetime
an = datetime.datetime.now()
a=3
b=4
c=a*b
print(c)
an1 = datetime.datetime.now()
print(an1-an) ```
timeit modülünü kullanabilirsin, aşağıda bir örnek var.
from timeit import timeit as tit
testcode1 = """
prime = []
era = [0 for i in range(1000001)]
for i in range(2, 1000001):
if(era[i] == 0):
prime.append(i)
k = i + i
while(k < 1000001):
era[k] = 1
k += i
"""
testcode2 = """
prime = []
from math import sqrt
for i in range (2,1000000):
for a in range (2,int(sqrt(i))):
if (i%a)==0:
break
else:
prime.append(i)
"""
testcode3 = """
prime = []
for i in range (2,1000000):
for a in range (2,i//2):
if (i%a)==0:
break
else:
prime.append(i)
"""
print("testcode1", tit(stmt = testcode1, number = 1))
print("testcode2", tit(stmt = testcode2, number = 1))
print("testcode3", tit(stmt = testcode3, number = 1))