Jadual Kandungan
Fungsi ujian asas
proses memory_profiler
penggunaan masa timeit
pengesanan kod baris line_profiler
Pengesan visual degupan jantung
Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan alat ujian prestasi seperti fungsi Python menjalankan masa memori

Cara menggunakan alat ujian prestasi seperti fungsi Python menjalankan masa memori

May 10, 2023 pm 12:40 PM
python

Fungsi ujian asas

Mula-mula, tulis fungsi python asas untuk pelbagai ujian prestasi kemudian.

def base_func():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
Salin selepas log masuk

proses memory_profiler

memory_profiler ialah perpustakaan python bukan standard, jadi pip digunakan untuk memasangnya di sini. Ia boleh memantau proses, memahami penggunaan memori dan banyak lagi.

pip install memory_profiler
Salin selepas log masuk

Selepas memasang pustaka memory_profiler, terus gunakan anotasi untuk menguji.

from memory_profiler import profile
@profile
def base_func1():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
base_func1()
# Line #    Mem usage    Increment  Occurrences   Line Contents
# =============================================================
#     28     45.3 MiB     45.3 MiB           1   @profile
#     29                                         def base_func():
#     30     45.3 MiB      0.0 MiB       10001       for n in range(10000):
#     31     45.3 MiB      0.0 MiB       10000           print('当前n的值是:{}'.format(n))
Salin selepas log masuk

Berdasarkan hasil data yang dikembalikan, 45.3 MiB memori digunakan untuk melaksanakan fungsi semasa.

penggunaan masa timeit

timeit ialah modul terbina dalam Python yang boleh menguji masa berjalan kod sel Memandangkan ia adalah modul terbina dalam, ia tidak perlu dipasang secara berasingan.

import timeit
def base_func2():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
res = timeit.timeit(base_func2,number=5)
print('当前的函数的运行时间是:{}'.format(res))
# 当前的函数的运行时间是:0.9675800999999993
Salin selepas log masuk

Mengikut hasil pemulangan fungsi di atas, masa berjalan fungsi ialah 0.96 saat.

pengesanan kod baris line_profiler

Jika anda hanya perlu mengesan masa berjalan setempat bagi sesuatu fungsi, anda boleh menggunakan line_profiler, yang boleh mengesan masa berjalan setiap baris kod.

line_profiler ialah perpustakaan ular sawa bukan standard. Gunakan pip untuk memasangnya.

pip install line_profiler
Salin selepas log masuk

Cara paling mudah untuk menggunakannya ialah dengan menambah terus fungsi yang perlu diuji.

def base_func3():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
from line_profiler import LineProfiler
lp = LineProfiler()
lp_wrap = lp(base_func3)
lp_wrap()
lp.print_stats()
# Line #      Hits         Time  Per Hit   % Time  Line Contents
# ==============================================================
#     72                                           def base_func3():
#     73     10001     162738.0     16.3      4.8      for n in range(10000):
#     74     10000    3207772.0    320.8     95.2          print('当前n的值是:{}'.format(n))
Salin selepas log masuk

Daripada hasil yang dijalankan, anda boleh melihat masa berjalan dan bahagian setiap baris kod Harap maklum bahawa unit masa di sini ialah mikrosaat.

Pengesan visual degupan jantung

Perkara yang paling disyorkan tentang degupan jantung ialah ia boleh mengesan proses pelaksanaan program di halaman web sama seperti mengesan kadar denyutan jantung juga perpustakaan bukan standard dan boleh dipasang menggunakan pip.

pip install heartrate
Salin selepas log masuk
rrree

Selepas berjalan, konsol mencetak log berikut:

import heartrate
heartrate.trace(browser=True)
def base_func4():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
Salin selepas log masuk

dan secara automatik membuka alamat penyemak imbas: http://127.0.0.1:9999

Cara menggunakan alat ujian prestasi seperti fungsi Python menjalankan masa memori

Atas ialah kandungan terperinci Cara menggunakan alat ujian prestasi seperti fungsi Python menjalankan masa memori. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini? Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini? Apr 01, 2025 pm 08:09 PM

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Dalam pengaturcaraan, kita sering menghadapi masalah mengembalikan nilai null apabila panggilan API, yang bukan sahaja mengelirukan ...

Bolehkah anotasi parameter Python menggunakan rentetan? Bolehkah anotasi parameter Python menggunakan rentetan? Apr 01, 2025 pm 08:39 PM

Penggunaan alternatif anotasi parameter python Dalam pengaturcaraan Python, anotasi parameter adalah fungsi yang sangat berguna yang dapat membantu pemaju memahami dan menggunakan fungsi ...

Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Apr 01, 2025 pm 11:30 PM

Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Semasa menulis skrip python, adalah perkara biasa untuk membersihkan output sebelumnya ke kedudukan kursor ...

Pembangunan Aplikasi Desktop Cross-Platform Python: Perpustakaan GUI mana yang terbaik untuk anda? Pembangunan Aplikasi Desktop Cross-Platform Python: Perpustakaan GUI mana yang terbaik untuk anda? Apr 01, 2025 pm 05:24 PM

Pilihan Perpustakaan Pembangunan Aplikasi Desktop Python Python Banyak pemaju Python ingin membangunkan aplikasi desktop yang boleh dijalankan pada kedua-dua sistem Windows dan Linux ...

Python Hourglass Graph Lukisan: Bagaimana untuk mengelakkan kesilapan yang tidak ditentukan? Python Hourglass Graph Lukisan: Bagaimana untuk mengelakkan kesilapan yang tidak ditentukan? Apr 01, 2025 pm 06:27 PM

Bermula dengan Python: Lukisan Grafik Hourglass dan Pengesahan Input Artikel ini akan menyelesaikan masalah definisi berubah -ubah yang dihadapi oleh pemula python dalam program lukisan grafik Hourglass. Kod ...

Bagaimana cara mengira dan menyusun set data produk yang besar di Python? Bagaimana cara mengira dan menyusun set data produk yang besar di Python? Apr 01, 2025 pm 08:03 PM

Penukaran dan Statistik Data: Pemprosesan yang cekap bagi set data besar Artikel ini akan memperkenalkan secara terperinci bagaimana untuk menukar senarai data yang mengandungi maklumat produk kepada yang lain yang mengandungi ...

See all articles