Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Modul `timeit` Python Dapat Membantu Membandingkan Prestasi Algoritma?

Bagaimanakah Modul `timeit` Python Dapat Membantu Membandingkan Prestasi Algoritma?

Susan Sarandon
Lepaskan: 2024-12-03 02:47:11
asal
234 orang telah melayarinya

How Can Python's `timeit` Module Help Compare Algorithm Performance?

Membandingkan Prestasi Algoritma dengan Timeit

Modul timeit menyediakan cara yang mudah untuk mengukur dan membandingkan masa pelaksanaan fungsi atau coretan kod yang berbeza. Begini cara anda boleh menggunakan modul ini untuk membandingkan prestasi algoritma anda sendiri, seperti "insertion_sort" dan "tim_sort":

Interactive Python Session

Untuk interaktif Sesi Python, anda boleh menggunakan sama ada IPython atau Python standard penterjemah.

Menggunakan IPython Shell

IPython menawarkan fungsi %timeit:

def insertion_sort(arr):
    # Your implementation of insertion sort

def tim_sort(arr):
    # Your implementation of tim sort

%timeit for x in range(100): insertion_sort(x)
%timeit for x in range(100): tim_sort(x)
Salin selepas log masuk

Ini memaparkan masa pelaksanaan untuk setiap algoritma dalam mikrosaat.

Menggunakan Python Standard Jurubahasa

Import fungsi anda dari __main__ dalam pernyataan persediaan:

def insertion_sort(arr):
    # Your implementation of insertion sort

def tim_sort(arr):
    # Your implementation of tim sort

import timeit
timeit.repeat("for x in range(100): insertion_sort(x)", "from __main__ import insertion_sort",
              number=100000)
timeit.repeat("for x in range(100): tim_sort(x)", "from __main__ import tim_sort",
              number=100000)
Salin selepas log masuk

Ini mengembalikan senarai masa pelaksanaan untuk setiap algoritma.

Atas ialah kandungan terperinci Bagaimanakah Modul `timeit` Python Dapat Membantu Membandingkan Prestasi Algoritma?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan