https://www.datacamp.com/tutorial/decorators-python
Refatorar um código que compara o tempo de execução entre listas Python e arrays NumPy, utilizando funções reutilizáveis e um decorator para medir o tempo de execução de forma mais organizada.
import numpy as np
import time
# Lista Python
lista = list(range(1_000_000))
start = time.time()
lista_resultado = [x * 2 for x in lista]
print("Tempo com lista:", time.time() - start)
# NumPy array
array = np.array(lista)
start = time.time()
array_resultado = array * 2
print("Tempo com NumPy:", time.time() - start)
1 - Crie um decorator chamado tempo que:
2 - Encapsule cada bloco de código (lista e NumPy) dentro de funções:
3 - Aplique o decorator @tempo a ambas as funções e as chame passando uma constante como argumento.