Apa itu Python Timeit ()?
Python timeit () adalah metode di pustaka Python untuk mengukur waktu eksekusi yang dibutuhkan 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.
Sintaksis:
timeit.timeit(stmt, setup,timer, number)
Parameter
- stmt : Ini akan mengambil kode yang ingin Anda ukur waktu eksekusinya. Nilai defaultnya adalah "lulus".
- setup : Ini akan memiliki detail setup yang perlu dijalankan sebelum stmt. Nilai defaultnya adalah "lulus".
- 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. 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 timeitprint(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.
Timing Beberapa baris dalam kode python
Ada dua Anda dapat mengeksekusi beberapa baris kode di 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 timeitprint("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 timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module))
Keluaran:
C:\pythontest>python testtimeit.pyThe time taken is 0.182619178
timeit - Metode:
Di sini, ada 2 metode timeit 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 () dipanggil berapa kali pengulangan diberikan.
Contoh Program 1:
# testing timeit()import timeitimport_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 timeitimport randomdef 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.220261875The time difference is : 0.0004737320000000045
Contoh 3: timeit.repeat ()
# testing timeit()import timeitimport_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 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 dijalankan.
- -r N: berapa kali Anda ingin fungsi timeit () berulang
- -s S: ini akan memiliki detail 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.
Contoh:
C:\pythontest>python -m timeit -s 'text="hello world"'20000000 loops, best of 5: 13.1 nsec per loop
Cara lain Anda dapat mengeksekusi 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 () adalah 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 diambil. Anda juga bisa menambah / mengurangi 1 juta dengan mengatur nomor argumen dalam fungsi time ().
- Saat menjalankan pengujian, pengumpulan sampah dinonaktifkan setiap saat oleh fungsi time ().
- timeit () secara internal membutuhkan waktu yang akurat sesuai sistem operasi Anda yang digunakan. Misalnya, ini 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 eksekusi
- 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.
- number: Stmt akan dijalankan sesuai nomor yang diberikan di sini.