Velocidade de loops
É evidente que set
é mais indicado para a pesquisa de elementos. Ele é baseado em hashes, portanto é de se esperar uma complexidade constante na maioria das situações. Mas e quanto à iteração por todos os elementos de um objeto? Vamos comparar a velocidade da iteração de loops pelos elementos de list
e set
com o pytest
e o pytest-benchmark
. O pacote pytest
já foi importado.
Este exercício faz parte do curso
Introdução aos Testes em Python
Instruções do exercício
- Adicione o decorador
@benchmark
antes das funções que começam comiterate_
. - Complete os loops em
iterate_list
eiterate_set
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def test_list(benchmark):
# Add decorator here
@____
def iterate_list():
# Complete the loop here
____ in [i for i in range(1000)]:
pass
def test_set(benchmark):
# Add decorator here
____
def iterate_set():
# Complete the loop here
____ in {i for i in range(1000)}:
pass