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
Susan Sarandonasal
2024-12-03 02:47:11225semak imbas

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)

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)

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!

Kenyataan:
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