Ниже приведен пример скрипта выводящий время выполнения фрагмента кода (вложенных циклов).
import time
start_time = time.time() # Время начала работы
total = 0
for i in range(1, 1000):
for j in range(1, 10000):
total += i + j
print(f"Результат {total}") # Результат 54939505500
end_time = time.time() # Время окончания работы
print(f"Время выполнения {end_time-start_time:.2f} секунд") # Время выполнения 2.69 секунд
В следующем примере показана разница во времени выполнения одинаковых действий разных подходов.
import timeit
normal_py_sec = timeit.timeit('sum(x * x for x in range(1000))',
number = 10000)
naive_np_sec = timeit.timeit(
'sum(na * na)',
setup="import numpy as np; na = np.arange(1000)",
number = 10000)
good_np_sec = timeit.timeit(
'na.dot(na)',
setup="import numpy as np; na = np.arange(1000)",
number = 10000)
print("Normal Python: %f sec" % normal_py_sec) # Normal Python: 1.185151 sec
print("Naive NumPy: %f sec" % naive_np_sec) # Naive NumPy: 1.214446 sec
print("Good NumPy: %f sec" % good_np_sec) # Good NumPy: 0.022722 sec