Eine einfache Möglichkeit, die in Python benötigte Zeit anzuzeigen und sie intelligenter zu verbessern

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

Für vielbeschäftigte Leute

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

Hauptthema: Einfache (aber unglückliche?) Methode

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?

Intelligente Verbesserungen mit Dekorateuren

↑ 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

Eine einfache Möglichkeit, die in Python benötigte Zeit anzuzeigen und sie intelligenter zu verbessern
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Es ist einfach, SQL mit Python auszuführen und das Ergebnis in Excel auszugeben
Eine Standardmethode zum Entwickeln und Verteilen von Paketen in Python
Eine Geschichte, die es einfach macht, den Wohnbereich mit Elasticsearch und Python abzuschätzen
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
So zeigen Sie Bytes in Java und Python auf die gleiche Weise an
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
[Python] Die Rolle des Sterns vor der Variablen. Teilen Sie den Eingabewert und weisen Sie ihn einer Variablen zu
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
So stoppen Sie das Programm bis zu einem bestimmten Datum und einer bestimmten Uhrzeit in Python
[Python / Jupyter] Übersetzen Sie den Kommentar des in die Zwischenablage kopierten Programms und fügen Sie ihn in eine neue Zelle ein.
Ich habe ein POST-Skript erstellt, um ein Problem in Github zu erstellen und es im Projekt zu registrieren
So geben Sie eine Zeichenfolge in Python ein und geben sie unverändert oder in die entgegengesetzte Richtung aus.
Eine einfache Möglichkeit, Java von Python aus aufzurufen
Zur Darstellung von Datum, Uhrzeit, Uhrzeit und Sekunden in Python
[Python] Kombinieren von Listen mit Zahlen zu Zeichenfolgen und Schreiben in eine Ausgabedatei
So generieren Sie QR-Code und Barcode in Python und lesen ihn normal oder in Echtzeit mit OpenCV
So speichern Sie die Feature-Point-Informationen des Bildes in einer Datei und verwenden sie zum Abgleichen
Eine Geschichte über einen Ingenieur, der das Emo der Kryptographie bemerkt hat und versucht, es in Python zu implementieren
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
Einfache Möglichkeit, die Quelle der Python-Module zu überprüfen
Eine einfache Möglichkeit, die Verarbeitungsgeschwindigkeit einer von Linux erkannten Festplatte zu messen
Python-Skript, das das Azure-Status-RSS crawlt und an Hipchat sendet
Erstellt eine Python-Bibliothek, um komplexe Einschlüsse zu schreiben und auf einfach zu lesende Weise zu reduzieren
Das Ergebnis der Erstellung eines Kartenalbums italienischer Jungvermählten in Python und dessen Weitergabe
Einfache Möglichkeit, 0 abhängig von der Anzahl der Ziffern vorangestellt [Python]
[Selen] Öffnen Sie den Link in einem neuen Tab und verschieben Sie ihn [Python / Chrome-Treiber]
So testen Sie eine Funktion, die die aktuelle Zeit enthält, mit Freezegun in Python
Ich möchte die Variablen in der Python-Vorlagendatei ersetzen und in einer anderen Datei in Massenproduktion herstellen
Auch Anfänger können es schaffen! Einfache Möglichkeit, Sankey Diagram in Plotly zu schreiben
Versuchen Sie es mit GUI, PyQt in Python
[C / C ++] Übergeben Sie den in C / C ++ berechneten Wert an eine Python-Funktion, um den Prozess auszuführen, und verwenden Sie diesen Wert in C / C ++.
So tauschen Sie Elemente in einem Array in Python aus und wie kehren Sie ein Array um.
Verwendung der Methode __call__ in der Python-Klasse
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
So starten Sie den PC jeden Morgen zu einer festgelegten Zeit und führen das Python-Programm aus
Ich habe in Python ein Programm erstellt, das die 1-Minuten-Daten von FX auf eine beliebige Zeit (1 Stunde usw.) ändert.
Eine einfache Möglichkeit, mehrere for-Schleifen in Python zu vermeiden
Tipps zum Codieren kurz und einfach in Python zu lesen
[Super einfach! ] So zeigen Sie den Inhalt von Wörterbüchern und Listen einschließlich Japanisch in Python an
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Ich möchte die Effizienz mit Python auch in experimentellen Systemen verbessern (2) RS232C und pySerial
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Ich suche einen einheitlichen Weg, um auf Statusänderungen von Selenium für Python-Elemente zu warten
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Python unter Berücksichtigung des Zeitunterschieds
Ich habe auch versucht, die Funktionsmonade und die Zustandsmonade mit dem Generator in Python nachzuahmen
Ich wandelte die Zeit in eine ganze Zahl um, zerlegte sie in Primfaktoren und machte einen Bot, um das Ergebnis zu twittern (xkcd story)
Einführung einer guten Methode zur Verwaltung von DB-Verbindungen in Python
Python-Anfänger versuchte, bei einem IT-Unternehmen zu praktizieren
Versuchen Sie einfach, einen Webhook mit ngrok und Python zu erhalten
PyArmor ~ Einfache Möglichkeit, Python-Quellcode zu verschlüsseln und bereitzustellen ~