Если я выполню этот код:
def test():
k = 0
t = time.time()
times = []
for i in range(500):
for j in range(500):
k+=1
t1 = time.time()-t
t2 = time.time()-t
times.append(t2-t1)
return times
и нанесу на график задержки, я получу this .Кажется, что каждые 10 миллисекунд возникают задержки.Я заметил это при запуске другой программы, где эти пики составляли большую часть времени выполнения.
Итак, что вызывает эти задержки?Удаление функции time сокращает время выполнения, но в других более медленных функциях это не влияет на время выполнения, достаточное для того, чтобы быть причиной всплесков.
Вот еще одна функция, в которой появляются те же самые всплески, но они значительноболее регулярные
def search(img, pos, rad):
t = time.time()
times = []
pos_tot = np.array([0,0]).astype(float)
lum_tot = 0
k = 1
for i in range(max(pos[0]-rad, 0), min(pos[0]+rad+1, img.shape[0])):
for j in range(max(pos[1]-rad, 0), min(pos[1]+rad+1, img.shape[1])):
t1 = time.time()
k+=1
lum = int(((img[i][j][0] + img[i][j][0] + img[i][j][0])/3/30)**3)
pos_tot+= np.array([i,j]).astype(float)*lum
t2 = time.time()-t
times.append(t2-t1)
return times
времена выглядят как это , появляясь примерно каждые 71 итерация.
Может ли это быть связано с ОС (Windows 10)?Если это так, как я мог избежать этих задержек?Любая помощь приветствуется.