Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Python timeit() – Mengukur Waktu Eksekusi dengan Contoh Praktis

Apa Itu Python timeit()?

Python timeit() adalah modul bawaan yang dirancang untuk mengukur waktu eksekusi cuplikan kode kecil dengan presisi tinggi. Secara default ia menjalankan pernyataan satu juta kali dan melaporkan run tercepat, yang membantu Anda membandingkan kinerja berbagai implementasi.

Sintaks

timeit.timeit(stmt, setup, timer, number)

Parameter

Impor modul terlebih dahulu:

import timeit

Contoh 1 – Mengukur Ekspresi Sederhana

# Uji operasi aritmetika dasar import timeit print(timeit.timeit("output = 10*5"))

Output khas:

0.06127880399999999

Ini menunjukkan waktu (dalam detik) yang diambil untuk run tercepat dari satu juta kali.

Mengukur Beberapa Baris

timeit dapat menangani kode multi-baris dengan memisahkan pernyataan dengan titik koma atau dengan meneruskan string triple-quoted.

Menggunakan Titik Koma

import timeit print("Waktu yang diambil adalah ", timeit.timeit(stmt="a=10;b=10;sum=a+b"))

Output:

Waktu yang diambil adalah 0.137031482

Menggunakan String Triple-Quoted

import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))

Output:

C:\pythontest>python testtimeit.py Waktu yang diambil adalah 0.182619178

Metode Utama

Contoh 1 – Menggunakan timeit.timeit()

# Uji fungsi yang mengembalikan integer acak import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))

Output:

0.46715912400000004

Contoh 2 – Menggunakan default_timer()

# Ukur satu panggilan fungsi import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("Waktu mulai adalah :", starttime) test() print("Selisih waktu adalah :", timeit.default_timer() - starttime)

Output:

Waktu mulai adalah : 0.220261875 Selisih waktu adalah : 0.0004737320000000045

Contoh 3 – Menggunakan timeit.repeat()

# Jalankan uji lima kali dan tangkap waktu terbaik import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))

Output:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

Setiap entri adalah waktu terbaik untuk satu iterasi dari 1 000 000 run.

Penggunaan Baris Perintah

Anda dapat memanggil timeit langsung dari shell:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]

Contoh

C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop

Cara nyaman lainnya adalah memanggil timeit dari REPL:

import timeit print("Waktu yang diambil adalah ", timeit.timeit(stmt="a=10;b=10;sum=a+b"))

Output:

Waktu yang diambil adalah 0.15048536300000137

Mengapa timeit() adalah Alat Terbaik untuk Mengukur Kode Python

Ringkasan

Modul timeit penting untuk benchmarking cuplikan Python pendek. Parameter-nya sederhana:

Pastikan untuk menggunakan timeit untuk pengukuran yang akurat dan dapat diulang.

Python

  1. Python: Mengambil Waktu Saat Ini dan Data Zona Waktu dengan Mudah
  2. Menguasai Modul time Python: Fungsi, Structs, dan Contoh Praktis
  3. Menguasai str.count() Python: Cara Menghitung Karakter & Substring dengan Contoh
  4. Menguasai String `format()` Python dengan Contoh Jelas
  5. Menguasai Metode String.find() Python: Sintaks, Contoh & Alternatif
  6. Menguasai Fungsi Lambda Python: Contoh Praktis & Praktik Terbaik
  7. Fungsi round() Python Dijelaskan dengan Contoh Praktis
  8. Menguasai Fungsi map() Python: Sintaks, Contoh, dan Praktik Terbaik
  9. Python Counter di collections – Perhitungan, Pembaruan, dan Operasi Aritmetika
  10. Memahami type() dan isinstance() dalam Python: Contoh Praktis