Viteza buclelor
Desigur, set este mai potrivit pentru căutarea elementelor. Se bazează pe hash-uri, astfel că te poți aștepta la o complexitate constantă în majoritatea cazurilor. Dar ce se întâmplă cu iterarea peste toate elementele unui obiect? Să comparăm viteza de iterare prin buclă peste elementele unui list și ale unui set cu pytest și pytest-benchmark. Pachetul pytest a fost deja importat.
Acest exercițiu face parte din cursul
Introducere în testarea în Python
Instrucțiuni pentru exercițiu
- Adaugă decoratorul
@benchmarkînaintea funcțiilor care încep cuiterate_. - Completează buclele din
iterate_listșiiterate_set.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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