Ich benutze es oft, aber ich vergesse es oft, also gebe ich es aus, um mich zu erinnern Ich beabsichtige, es für Anfänger leicht zu schreiben
Wir haben einen Dekorateur veröffentlicht, der die Verarbeitungszeit der Funktion auf [Github] anzeigt (https://github.com/RyukiFujita/mytools). ** Einfach mit pip installieren, importieren und der Funktion, mit der Sie die Verarbeitungszeit messen möchten, einen Dekorator hinzufügen! ** ** ** Bitte benutzen Sie es
Verwenden Sie den Python-Standard time.time ()
time.time ()
gibt die aktuelle UNIX-Zeit als Gleitkommazahl zurück, sodass Sie die Differenz zwischen der Zeit vor und nach der Verarbeitung ermitteln können.
main.py
import time
start = time.time() #Startzeit aufzeichnen
"""
Schreiben Sie den Prozess, mit dem Sie die Zeit messen möchten
"""
end = time.time() #Notieren Sie die Endzeit
proc_time = end - start #Verarbeitungszeit berechnen
print(f"process took {proc_time} seconds") #Bearbeitungszeit anzeigen
Nur das
Ein bisschen enttäuschend?
↑ Der Code wird in einen Dekorator umgewandelt, der die Verarbeitungszeit der Funktion misst, um sie intelligenter zu machen
mytools.py
import time
from functools import wraps
def fntime(fn) :
@wraps(fn)
def wrapper(*args, **kwargs) :
start = time.time()
result = fn(*args, **kwargs)
end = time.time()
proc_time = end - start
print(f"function:{fn.__name__} took {proc_time} seconds")
return result
return wrapper
(´-`) .. oO (Ich mache es jetzt nicht, aber ich möchte den Dekorateur eines Tages erklären ...)
main.py
from mytools import fntime
@fntime
def my_process() :
"""
Verarbeitung, die Sie messen möchten
↓ Verarbeitungsbeispiel
"""
sum = 0
for i in range(100000000) :
sum += i
my_process() #Führen Sie den Prozess aus, den Sie messen möchten
Wenn Sie diese beiden Dateien in dasselbe Verzeichnis stellen und main.py
ausführen
Terminal
$ python main.py
function:my_process took 6.954758167266846 seconds
Es wird so angezeigt Wunderschönen. Toll. süß. Mögen.
Dies hat jedoch immer noch einige unglückliche Nachteile. Wenn Sie versuchen, "@ fntime" in einem anderen Verzeichnis zu verwenden, müssen Sie "mytools.py" in dieses Verzeichnis kopieren.
Also habe ich den Code auf Github veröffentlicht, damit ich das nicht tun muss.
Einfach mit pip installieren, importieren und @ fntime
zur Funktion hinzufügen!
Das Schöne an Python ist, dass Sie leicht vermeiden können, die Räder neu zu entwickeln. Bitte benutzen Sie es
(´-`) .. oO (Github-Code ist etwas einfacher zu erkennen, z. B. Färben des Funktionsnamens und der Uhrzeit, vertikales Anordnen)
Bitte folgen Sie auch twitter! Haben Sie normalerweise viel maschinelles Lernen oder Python-Tweets? Ich bin ein junger Ingenieur, daher gibt es viele grundlegende Stellen
Ich werde von nun an immer mehr Qiita veröffentlichen! Ich möchte einfachere Werkzeuge wie dieses erstellen
Give me LGTM!
Recommended Posts