Jak korzystać z modułu timeit?

Rozumiem koncepcję timeit ale nie jestem pewna, jak zaimplementować go w moim kodzie.

Jak mogę porównać dwie funkcje, powiedzmy insertion_sort i tim_sort, z timeit?

1 odpowiedź

Sposób działania timeit polega na jednorazowym uruchomieniu kodu instalacyjnego, a następnie wielokrotnym wywoływaniu szeregu instrukcji. Tak więc, jeśli chcesz przetestować sortowanie, należy zachować ostrożność, aby jedno przejście w sortowaniu w miejscu nie wpłynęło na następne przejście z już posortowanymi danymi.

Oto przykład konfiguracji testu sortowania:

>>> import timeit

>>> setup = '''
import random

random.seed('xyz')
s = [random.random() for i in range(1000)]
timsort = list.sort
'''

>>> print min(timeit.Timer('a=s[:]; timsort(a)', setup=setup).repeat(7, 1000))
0.334147930145

Zauważ, że seria instrukcji tworzy nową kopię nieposortowanych danych przy każdym przejściu.

Zwróć także uwagę na technikę pomiaru czasu, która polega na uruchomieniu pakietu pomiarowego siedem razy i zachowaniu najlepszego czasu - może to naprawdę pomóc w zmniejszeniu zniekształceń pomiaru spowodowanych innymi procesami działającymi w twoim systemie.

Mam nadzieję, że to Ci pomoże! :)

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.