Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie Leistungstesttools wie die Python-Funktion, die die Speicherzeit ausführt

So verwenden Sie Leistungstesttools wie die Python-Funktion, die die Speicherzeit ausführt

WBOY
Freigeben: 2023-05-10 12:40:13
nach vorne
1041 Leute haben es durchsucht

Grundlegende Testfunktion

Schreiben wir zunächst eine grundlegende Python-Funktion für verschiedene spätere Leistungstests.

def base_func():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
Nach dem Login kopieren

memory_profiler-Prozess

memory_profiler ist eine nicht standardmäßige Python-Bibliothek und wird daher hier mit pip installiert. Es kann Prozesse überwachen, die Speichernutzung verstehen und vieles mehr.

pip install memory_profiler
Nach dem Login kopieren

Verwenden Sie nach der Installation der Memory_profiler-Bibliothek direkt Anmerkungen zum Testen.

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))
Nach dem Login kopieren

Den zurückgegebenen Datenergebnissen nach zu urteilen, werden 45,3 MiB Speicher für die Ausführung der aktuellen Funktion verwendet.

timeit-Zeitnutzung

timeit ist ein integriertes Modul von Python, das die Codelaufzeit einer Zelle testen kann. Da es sich um ein integriertes Modul handelt, muss es nicht separat installiert werden.

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
Nach dem Login kopieren

Laut dem Rückgabeergebnis der obigen Funktion beträgt die Laufzeit der Funktion 0,96 Sekunden.

line_profiler-Zeilencodeerkennung

Wenn Sie nur die lokale Laufzeit einer Funktion ermitteln müssen, können Sie line_profiler verwenden, der die Laufzeit jeder Codezeile ermitteln kann.

line_profiler ist eine nicht standardmäßige Python-Bibliothek. Sie können sie mit pip installieren.

pip install line_profiler
Nach dem Login kopieren

Der einfachste Weg, es zu verwenden, besteht darin, die zu testenden Funktionen direkt hinzuzufügen.

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))
Nach dem Login kopieren

Sie können die Laufzeit und den Anteil jeder Codezeile anhand der laufenden Ergebnisse sehen. Beachten Sie, dass die Zeiteinheit hier subtil ist.

Visuelle Erkennung der Herzfrequenz

Das am meisten empfohlene Merkmal von Heartrate ist, dass es den Ausführungsprozess des Programms auf der Webseite genau wie die Erkennung der Herzfrequenz erkennen kann. Gleichzeitig handelt es sich auch um eine nicht standardmäßige Bibliothek mit pip installiert werden.

pip install heartrate
Nach dem Login kopieren
import heartrate
heartrate.trace(browser=True)
def base_func4():
    for n in range(10000):
        print('当前n的值是:{}'.format(n))
Nach dem Login kopieren

Nach dem Ausführen druckt die Konsole das folgende Protokoll:

#  * Serving Flask app "heartrate.core" (lazy loading)
#  * Environment: production
#    WARNING: This is a development server. Do not use it in a production deployment.
#    Use a production WSGI server instead.
#  * Debug mode: off
Nach dem Login kopieren

und öffnet automatisch die Browseradresse: http://127.0.0.1:9999

So verwenden Sie Leistungstesttools wie die Python-Funktion, die die Speicherzeit ausführt

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Leistungstesttools wie die Python-Funktion, die die Speicherzeit ausführt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage