Python Timeit() z przykładami
Czym jest Python Czas()?
Python czas() jest metodą w Python bibliotekę do pomiaru czasu wykonania danego fragmentu kodu. The Python Biblioteka uruchamia instrukcję code 1 milion razy i podaje minimalny czas potrzebny na wykonanie danego zestawu fragmentów kodu. Python timeit() to przydatna metoda pomagająca sprawdzić wydajność kodu.
Składnia
timeit.timeit(stmt, setup,timer, number)
Parametry
- stmt: To zajmie kod, dla którego chcesz zmierzyć czas wykonania. Wartość domyślna to „pass”.
- ustawienie: Tutaj będą szczegóły konfiguracji, które muszą zostać wykonane przed stmt. Wartość domyślna to „pass”.
- Timer: Będzie to miało wartość timera, timeit() ma już ustawioną wartość domyślną i możemy ją zignorować.
- numer: Stmt zostanie wykonany zgodnie z liczbą podaną tutaj. Wartość domyślna to 1000000.
Aby pracować z timeit(), musimy zaimportować moduł, jak pokazano poniżej:
import timeit
Pierwszy przykład
Oto prosty przykład funkcji timeit().
Kod Przykład 1
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Wyjście:
0.06127880399999999
Widzieliśmy prosty przykład, który podaje nam czas wykonania prostej instrukcji kodu = 10*5, a czas potrzebny na jej wykonanie wynosi 0.06127880399999999.
Timing Wiele linii w kodzie Pythona
Istnieją dwa sposoby wykonania wielu wierszy kodu w funkcji timeit.timeit(): rozdzielając wiersze średnikami lub umieszczając kod jako ciąg znaków w potrójnych cudzysłowach.
Oto przykłady pokazujące działanie tego rozwiązania.
Przykład 1: Użycie średnika
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Wyjście:
The time taken is 0.137031482
Przykład 2: Używanie potrójnych cudzysłowów
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Wyjście:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Metody
Oto 2 ważne metody timeit
timeit.default_timer() : Po wykonaniu zwróci domyślny czas.
timeit.repeat(stmt, konfiguracja, timer, powtórz, liczba) : tak samo jak timeit() , ale w przypadku powtórzenia funkcja timeit() jest wywoływana jako liczba powtórzeń.
Przykład programu 1
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Wyjście:
0.46715912400000004
2 przykład
default_timer() Przykład
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
Wyjście:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Przykład 3: timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Wyjście:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() działa podobnie do funkcji timeit.timeit() z tą tylko różnicą, że uwzględnia argument powtórzenia i zwraca czas wykonania w formacie tablicy z wartościami zgodnymi z liczbą powtórzeń.
Wykonywanie funkcji pomiaru czasu timeit.timeit() w interfejsie wiersza poleceń
Składnia wykonywania funkcji wewnątrz funkcji timeit() w wierszu poleceń jest następująca:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Parametry wiersza polecenia:
- -n N: ile razy chcesz wykonać kod.
- -r N: liczba powtórzeń funkcji timeit().
- -s S: tutaj znajdują się szczegóły konfiguracji, które zostaną wykonane przed wykonaniem kodu.
- -t: w tym celu możesz skorzystać z funkcji time.time()
- -c: w tym celu możesz skorzystać z time.clock()
- -h: o pomoc
- oświadczenie kodu: Szczegóły kodu.
Przykład
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Inny sposób wykonania w wierszu poleceń jest pokazany poniżej:
Przykład
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
Dlaczego timeit() jest najlepszym sposobem pomiaru czasu wykonania Python kod?
Oto kilka powodów, dla których uważamy, że timeit() jest najlepszym sposobem pomiaru czasu wykonania.
- Uruchamia instrukcję code 1 milion razy, co jest wartością domyślną, i na tej podstawie zwraca minimalny czas potrzebny. Możesz także zwiększyć/zmniejszyć 1 milion, ustawiając numer argumentu w funkcji czasu ().
- Podczas wykonywania testu odśmiecanie jest każdorazowo wyłączane przez funkcję time().
- timeit() wewnętrznie pobiera dokładny czas zgodnie z używanym systemem operacyjnym. Na przykład użyje time.clock() dla Windows system operacyjny i time.time() dla systemów Mac i Linux.
Podsumowanie
Funkcja Timeit() służy do uzyskania czasu wykonania podanego małego kodu
Parametry używane z timeit()
- stmt: To zajmie kod, który chcesz zmierzyć, czas wykonania
- konfiguracja: Zawiera szczegóły konfiguracji, które należy wykonać przed stmt
- timer: Będzie to miało wartość timera, timeit() ma już ustawioną wartość domyślną i możemy ją zignorować.
- liczba: Stmt zostanie wykonany zgodnie z liczbą podaną tutaj.