Почему замедление цикла Python? - PullRequest
3 голосов
/ 02 мая 2019

Я создаю цикл while и print отметку времени в каждом цикле.В начале я получил производительность около 33 петель в секунду.Однако, чем дольше, тем медленнее становится.Через 3 минуты у меня производительность 2 петли в секунду.Я попытался использовать threading.Timer вместо этого, но он делает то же самое.Я осознаю, что память и сложность вычислений могут быть проблемой, но в этом сценарии это не так.часы?Ваша помощь будет очень признательна.

import time

while(True):
    print(int(round(time.time() * 1000)))

Вывод

1556756682157
1556756682216
1556756682240
1556756682269
1556756682296
1556756682324
1556756682358
1556756682387
1556756682415
1556756682441
1556756682470
1556756682501
1556756682556
... // After 3 minutes
1556756860002
1556756860884
1556756861240
1556756861669
1556756862596
1556756863324
1556756863858
1556756864387

1 Ответ

1 голос
/ 08 мая 2019

На основании проведенного теста здесь , печать может значительно замедлить ваш цикл.Снимите отпечаток, и ваша скорость больше не должна уменьшаться.Ниже приведен пример:

from time import time

start = time()
for i in range(1_000_000):
    print(i)
print(f'run time for printing: {time() - start}')

start = time()
for _ in range(1_000_000):
    pass
print(f'run time for no printing: {time() - start}')

this is what it printed:

# a ton of numbers above this line from printing

run time for printing: 7.047402858734131
run time for no printing: 0.0870048999786377
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...