@skyskif

Как задействовать все ресурсы при выполнении скрипта Python?

Добрый день! Подскажите как задействовать все ресурсы при выполнении скрипта Python? В скрипте есть цикл
i = 0
while i < 1000000000:
#for n in range(0,100000000):
 i = i + 1
 key10 = key10 + 1
 if i==100000 or i-ii==100000:
  ii = i
  print(i)
  print (datetime.datetime.now().time())
  print (key10)
  keyStop = key10
  # -------Запись в txt файл-------------
  f1 = open('key10.txt', 'w')
  f1.write(str(keyStop)+ '\n')
  f1.close()
  # -------Запись в txt файл-------------
...

100000 итераций цикла проходят за 7 минут, при этом загрузка процессора 50%, оперативная память занята на 35%. Почему скрипт так медленно выполняется и при этом не использует все ресурсы? Как с этим быть, как можно ускорить выполнение скрипта?
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
@bacon
1. работа с файлами обычно дорогая операция, его надо открыть до цикла и закрыть после, а лучше использовать with
2. print печатает в консоль, из-за чего возникает io wait, но тут их вроде не много, так что не сильно влияют
3. pypy обычно очень хорошо ускоряет циклы

ЗЫ ну и понятно что тут один поток, если у тебя два ядра, то макс загрузка будет 50%
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы