Python Timeit() dengan Contoh
Apa itu Python Timeit()?
Waktu Python() adalah metode di pustaka Python untuk mengukur waktu eksekusi yang diambil oleh cuplikan kode yang diberikan. Pustaka Python menjalankan pernyataan kode 1 juta kali dan menyediakan waktu minimum yang diambil dari kumpulan cuplikan kode yang diberikan. Python timeit() adalah metode berguna yang membantu dalam memeriksa kinerja kode.
Sintaks:
timeit.timeit(stmt, setup,timer, number)
Parameter
- stmt :Ini akan mengambil kode yang ingin Anda ukur waktu eksekusinya. Nilai defaultnya adalah “lulus”.
- penyiapan :Ini akan memiliki detail pengaturan yang perlu dijalankan sebelum stmt. Nilai defaultnya adalah “lulus”.
- pengatur waktu :Ini akan memiliki nilai timer, timeit() sudah memiliki nilai default yang ditetapkan, dan kita dapat mengabaikannya.
- angka :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 dari 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 output pernyataan kode sederhana =10*5, dan waktu yang dibutuhkan untuk mengeksekusinya adalah 0,06127880399999999.
Waktu Beberapa baris dalam kode python
Ada dua baris kode yang dapat Anda jalankan dalam timeit.timeit(), menggunakan titik koma atau dengan menyimpan kode yang diapit 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 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
waktu – Metode:
Berikut adalah 2 metode waktu yang penting
timeit.default_timer() :Ini akan mengembalikan waktu default saat dijalankan.
timeit.repeat(stmt, setup, timer, repeat, number) :sama dengan timeit() , tetapi dengan pengulangan timeit() disebut 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: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))
Keluaran:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() bekerja mirip dengan fungsi timeit.timeit(), dengan satu-satunya perbedaan yang dibutuhkan dalam argumen pengulangan dan mengembalikan waktu eksekusi dalam format array dengan nilai sesuai dengan 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() berulang
- -s S:ini akan memiliki detail penyiapan 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:Detail kode.
Contoh:
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:
Contoh :
>>> 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 kode Python?
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 itu, itu akan mengembalikan Anda waktu minimum yang dibutuhkan. Anda juga dapat menambah/mengurangi 1 juta dengan menyetel nomor argumen dalam fungsi waktu ().
- Saat menjalankan pengujian, fungsi pengumpulan sampah dinonaktifkan setiap waktu ().
- timeit() secara internal mengambil waktu yang akurat sesuai dengan sistem operasi Anda yang digunakan. Misalnya, ia akan menggunakan time.clock() untuk sistem operasi Windows dan time.time() untuk mac dan Linux.
Ringkasan
Timeit() digunakan untuk mendapatkan waktu eksekusi yang dibutuhkan 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 detail setup yang perlu dijalankan sebelum stmt
- timer:Ini akan memiliki nilai timer, timeit() sudah memiliki nilai default yang ditetapkan, dan kita dapat mengabaikannya.
- nomor:stmt akan dijalankan sesuai nomor yang diberikan di sini.