Moduł Python Timeit

Moduł Python Timeit

Programowanie nie polega tylko na wykonaniu zadania i uzyskaniu wyników, które zamierzaliśmy uzyskać. Chodzi również o to, jak szybko program działa i wykonuje, aby osiągnąć pożądane wyjście. W przypadku większości języków programowania nie jest łatwo porównać, jak szybko uruchomi się program i nigdy nie jest łatwe do czasu, aby zrozumieć, który część naszego kodu zajmuje najwięcej czasu na wykonanie. To jest problem, który jest rozwiązany przez Python czas moduł.

Moduł Python Timeit

Pyton czas Moduł pozwala nam na czas wykonywania kawałka kodu bez uwzględnienia procesów tła, które są uruchamiane w celu uczynienia kodu wykonywalnego. Jeśli potrzebujesz nieco dokładnych pomiarów, jak działa Twój kod czas jest modułem, na który można wybrać.

Timit Proste przykład

Zaczniemy od użycia modułu TIMIT bezpośrednio z wiersza polecenia. Moduł TIMIT może być używany bezpośrednio z CLI, w którym możemy wprowadzić prostą instrukcję pętli i czas za pomocą polecenia pokazanego:

$ Python --version
$ Python -m Timit '„&”.dołącz (str (n) dla n w zakresie (1000)) ”
$ Python -m Timit '„&”.dołącz ([str (n) dla n w zakresie (1000)]) ”
$ Python -m Timit '„&”.dołącz (mapa (str, zakres (1000))) ”

Oto, co wracamy z tym poleceniem:

Czas wykonania z CLI za pomocą czasu

W jednej z późniejszych sekcji dowiemy się, w jaki sposób możemy zarządzać liczbą wykonanych pętli w celu znalezienia optymalnej liczby wykonania danego wyrażenia.

Czas kodu

Jeśli masz podstawowy skrypt Pythona, na który chcesz zmierzyć czas, moduł TIMIT jest właściwą drogą:

czas importu
# Kod konfiguracji jest wykonywany tylko raz
setup_code = "z matematyki import sqrt"
# Snippet kodu głównego do sprawdzania wydajności
code_to_measure = "'
def przykład ():
myList = []
dla x w zakresie (100):
moja lista.append (sqrt (x))
''
# Timeit Instrukcja
Drukuj (czas.timit (setup = setup_code,
stmt = code_to_measure,
liczba = 10000))

Zobaczmy dane wyjściowe tego polecenia:

Czas pętli

W tym kodzie widzieliśmy również, w jaki sposób możemy kontrolować liczbę powtórzeń moduł timeit, aby znaleźć najlepszy czas wykonywania programu.

Zmierz czas kodu wieloletniego z CLI

Możemy również zmierzyć czas dla kodu, który obejmuje wiele linii w CLI Python. Spójrzmy na przykładowy program, aby to zobaczyć:

$ python -m timit -s \
> "Linuxhint = " \
> „dla n w zakresie (1000):” \
> "Linuxhint [str (n)] = n"

Oto, co wracamy z tym poleceniem:

Czas wieloletni na CLI

Ogólnie porównując dwa bloki kodu

Jeśli nie chcesz wdawać się w kłopot z użyciem CLI i po prostu chcesz porównać dwa programy Python, abyś wiedział, który z nich działa szybciej, istnieje dość prosty sposób na osiągnięcie tego:

czas importu
start = timeit.default_timer ()
Funcone ()
Drukuj (czas.default_timer () - start)
start = timeit.default_timer ()
functwo ()
Drukuj (czas.default_timer () - start)

Korzystając z funkcji default_timer (), rozpoczynamy czasy raz po raz, aby znaleźć różnicę dla tego samego, kiedy została ostatnio rozpoczęta. Można tego użyć tylko wtedy, gdy masz dobry modułowy styl pisania kodu, aby każdy pieve kodu mógł być mierzony osobno.

Wniosek

W tej lekcji zbadaliśmy, w jaki sposób możemy poświęcić czas nasz kod w Pythonie, zobaczyć ich złożoność i wydajność czasu oraz działać, jeśli kod jest zbyt wolny.