Geschwindigkeit von Schleifen
Natürlich ist set
besser für die Suche nach Elementen geeignet. Sie basiert auf Hashes, so dass du die meiste Zeit mit einer konstanten Komplexität rechnen kannst. Aber was ist mit der Iteration über alle Elemente des Objekts? Vergleichen wir die Geschwindigkeit der Schleifeniteration über die Elemente von list
und set
mit pytest
und pytest-benchmark
. Das Paket pytest
wurde bereits importiert.
Diese Übung ist Teil des Kurses
Einführung in das Testen in Python
Anleitung zur Übung
- Füge den
@benchmark
-Decorator vor den Funktionen hinzu, die mititerate_
beginnen. - Vervollständige die Schleifen in
iterate_list
unditerate_set
.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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