Задать вопрос
@wideShift

Как ускорить этот простой код?

import time

start = time.time()

for i in range(1, 100000):
    i ** i

end = time.time()

print(end - start)
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Строго говоря этот код не делает ничего полезного. Только вычисляет степени и забывает их тут же. Это значит, что никаких побочных эффектов кроме задержки и нагрева процессора код не создаёт.
Отсюда (да, звучит как занудство, но каков вопрос, таков и ответ!), логичные 4 варианта:
  1. Если нагрев процессора обязателен, то ускорить код можно уменьшив число 100000 в скобках.
  2. Если нагрев не нужен, то можно поставить time.sleep(3) и получить задержку нужной длительности.
  3. Если нам важна зависимость задержки от производительности компьютера, но код нужно немного ускорить, см Вариант 1..
  4. Если ни задержка, ни нагревание не нужно, то удалите ВЕСЬ цикл и вы получите минимально возможную задержку.

Какого черта такие хреновые формулировки вопросов?!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
netpastor
@netpastor
Python developer
Комментировать
SvinkaBacilka
@SvinkaBacilka
личинка front-end Developer-а
использовать генераторы списков, наверное
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы