Python Timeit() dengan Contoh

Apa itu Python Waktunya()?

Python waktu() adalah metode di Python perpustakaan untuk mengukur waktu eksekusi yang dibutuhkan oleh cuplikan kode yang diberikan. Itu Python perpustakaan menjalankan pernyataan kode 1 juta kali dan memberikan waktu minimum yang dibutuhkan dari kumpulan cuplikan kode yang diberikan. Python timeit() adalah metode berguna yang membantu memeriksa kinerja kode.

Sintaksis

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

Parameter Teknis

  • staf: Ini akan mengambil kode yang ingin Anda ukur waktu eksekusinya. Nilai defaultnya adalah "lulus".
  • penyiapan: Ini akan berisi detail pengaturan yang perlu dijalankan sebelum pernyataan. Nilai default adalah “pass.”
  • Timer: Ini akan memiliki nilai timer, timeit() sudah memiliki nilai default yang ditetapkan, dan kita dapat mengabaikannya.
  • jumlah: Stmt akan dijalankan sesuai nomor yang diberikan di sini. Nilai defaultnya adalah 1000000.

Untuk bekerja dengan timeit(), kita perlu mengimpor modul, seperti yang ditunjukkan di bawah ini:

import timeit

Contoh Pertama

Berikut adalah contoh sederhana fungsi timeit()

Contoh Kode 1

# testing timeit()
import timeit
print(timeit.timeit('output = 10*5'))

Keluaran:

0.06127880399999999

Kita telah melihat contoh sederhana yang memberi kita waktu eksekusi dari pernyataan kode sederhana output = 10*5, dan waktu yang dibutuhkan untuk mengeksekusinya adalah 0.06127880399999999.

Pengaturan Waktu Beberapa baris dalam kode python

Ada dua cara untuk mengeksekusi beberapa baris kode dalam timeit.timeit(): dengan memisahkan baris dengan titik koma atau melampirkan kode sebagai string dengan tanda kutip tiga.

Berikut adalah contoh yang menunjukkan cara kerjanya.

Contoh 1: Menggunakan titik koma

import timeit
print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))

Keluaran:

The time taken is  0.137031482

Contoh 2: Menggunakan tanda kutip rangkap tiga

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

Keluaran:

C:\pythontest>python testtimeit.py
The time taken is  0.182619178

waktuit – Metode

Berikut adalah 2 metode timeit yang penting

waktuit.default_timer() : Ini akan mengembalikan waktu default saat dijalankan.

timeit.repeat(stmt, setup, timer, ulangi, angka) : sama seperti timeit() , tetapi dengan pengulangan timeit() dipanggil berapa kali pengulangan diberikan.

Contoh Program 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))

Keluaran:

0.46715912400000004

Contoh 2

default_timer() Contoh

# 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)

Keluaran:

The start time is : 0.220261875
The time difference is : 0.0004737320000000045

Contoh 3: waktuit.ulang()

# 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))

Keluaran:

 [0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat() bekerja mirip dengan fungsi timeit.timeit(), dengan satu-satunya perbedaan yang diperlukan dalam argumen pengulangan dan mengembalikan waktu eksekusi dalam format array dengan nilai sesuai nomor pengulangan.

Menjalankan fungsi pengaturan waktu timeit.timeit() di dalam antarmuka baris perintah

Sintaks untuk menjalankan fungsi Anda di dalam timeit() pada baris perintah adalah sebagai berikut:

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

Parameter baris perintah:

  • -n N: berapa kali Anda ingin kode dieksekusi.
  • -r N: berapa kali Anda ingin fungsi timeit() diulang
  • -s S: ini akan berisi rincian pengaturan yang akan dieksekusi sebelum eksekusi kode.
  • -t: untuk ini, Anda dapat menggunakan time.time()
  • -c: untuk ini, Anda dapat menggunakan time.clock()
  • -h: untuk bantuan
  • pernyataan kode: Rincian kode.

Example

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

Cara lain yang dapat Anda jalankan di dalam baris perintah adalah seperti yang ditunjukkan di bawah ini:

Example

>>> import timeit
>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
The time taken is  0.15048536300000137
>>>

Mengapa timeit() cara terbaik untuk mengukur waktu eksekusi Python kode?

Berikut adalah beberapa alasan mengapa kami menganggap timeit() adalah cara terbaik untuk mengukur waktu eksekusi.

  • Ini menjalankan pernyataan kode 1 juta kali yang merupakan nilai default, dan dari situ, ini akan mengembalikan Anda waktu minimum yang diperlukan. Anda juga dapat menambah/mengurangi 1 juta dengan mengatur nomor argumen dalam fungsi waktu ().
  • Saat menjalankan pengujian, fungsi pengumpulan sampah dinonaktifkan setiap saat oleh waktu ().
  • timeit() secara internal mengambil waktu yang akurat sesuai dengan sistem operasi yang Anda gunakan. Misalnya, ia akan menggunakan time.clock() untuk Windows sistem operasi dan waktu.time() untuk mac dan Linux.

Ringkasan

Timeit() digunakan untuk mendapatkan waktu eksekusi untuk kode kecil yang diberikan

Parameter yang digunakan dengan timeit()

  • stmt: Ini akan mengambil kode yang ingin Anda ukur waktu eksekusinya
  • setup: Ini akan memiliki rincian pengaturan yang perlu dijalankan sebelum pernyataan
  • timer: Ini akan memiliki nilai timer, timeit() sudah memiliki nilai default yang ditetapkan, dan kita dapat mengabaikannya.
  • number: Stmt akan dijalankan sesuai nomor yang diberikan di sini.