[PYTHON] Schreiben Sie die Messung der Verarbeitungszeit mit der with-Klausel etwas einfacher

Gemeinsame Messung der Verarbeitungszeit

import time

start = time.time()  #Messung starten
do_something()       #Führen Sie die Verarbeitung des Messziels durch
end = time.time()    #Ende der Messung
print 'CalcTime: {}'.format(end-start)

Ich frage mich, ob das zu verwendende Modul Zeit oder Datum / Uhrzeit ist.

Was ist los

Es ist nicht schlecht. Jedoch, ** ・ Vergessen Sie Start und Ende zu löschen und festzuschreiben ** ** ・ Ich weiß nicht, was ich für die Messung geschrieben habe, weil ich zu viele Dinge eingebettet habe ** ** ・ Es ist mühsam, Anfang und Ende zu schreiben ** Es gibt verschiedene Dinge.

Schreiben wir mit der with-Klausel

mit Klausel Die Funktion ist, dass `__enter__``` am Anfang bzw.` __ exit__``` am Ende aufgerufen werden. Es wird auch häufig für die Verarbeitung verwendet, z. B. für Datei-E / A. Es scheint, dass es für die Messverarbeitung verwendet werden kann, wenn es am Anfang und am Ende ausgeführt wird. Wenn ich es tatsächlich schreibe,

import time

#Klasse zum Messen der Verarbeitungszeit
class ProcessingTimer(object):

    def __init__(self):
        self.start_time = 0  #Startzeit

    def __enter__(self):
        self.start_time = time.time()

    def __exit__(self, exc_type, exc_val, exc_tb):
        print 'processing time: {}'.format(time.time() - self.start_time)

def func()
  with ProcessingTimer():
    do_something()

Bei der Ausführung sieht es so aus (das Ergebnis ist angemessen)

>>>> func()
processing time: 0.0352

Ich habe es mit der minimalen Konfiguration geschrieben, aber es scheint, dass verschiedene Dinge durch Anpassen des Verarbeitungszeitgebers getan werden können. Wenn Sie es so machen, wenn Sie sich ein wenig Sorgen um die Verarbeitungszeit machen ** 1. Mit ProcessingTimer (): Hinzufügen ** ** 2. Den Teil, den Sie messen möchten, gemeinsam einrücken ** Sie können mit messen. Beim Entfernen ** 1. Mit ProcessingTimer () löschen: ** ** 2. Den gemessenen Teil gemeinsam einrücken ** Ist in Ordnung. (Ich fühle mich wie es für mich bequem ist)

Recommended Posts

Schreiben Sie die Messung der Verarbeitungszeit mit der with-Klausel etwas einfacher
Zeitmessung mit einer Uhr
Schreiben Sie einen TCP-Server mit dem SocketServer-Modul
So schreiben Sie eine GUI mit dem Befehl maya
Lassen Sie uns das Abhängigkeitsmanagement mit pip etwas einfacher machen
[Linux] Schreiben Sie ein Bereitstellungstool mit rsync und einem Shell-Skript
Berechnungszeitmessung mit maf
Verwenden eines Druckers mit Debian 10
Messung der Ausführungszeit mit Python With
Ein bisschen im Kettenschiff stecken
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Unter Linux ist der Zeitstempel einer Datei etwas vorbei.
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Schreiben Sie ein Skript, um die Entfernung mit dem Elasticsearch 5-System schmerzfrei zu berechnen
Schreiben Sie ein Restnetzwerk mit TFLearn
Machen Sie die C-Kompilierung etwas einfacher
Schreiben Sie ein gestapeltes Histogramm mit matplotlib
Verwenden einer Webkamera mit Raspberry Pi
Schreiben Sie ein Batch-Skript mit Python3.5 ~
Python> Verarbeitungszeitmessung> time.time () --start_time
Überlegen Sie, wie Sie einen Filter mit den Shotgun API-Contact-Versionen schreiben
Wie man die anfängliche Population mit einem genetischen Algorithmus unter Verwendung von DEAP fixiert
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
Erstellen Sie mit dem Python-Anforderungsmodul einen Datensatz mit Anhängen in KINTONE
Ich habe ein Tool erstellt, das die Dekomprimierung mit CLI (Python3) etwas erleichtert.
Ein nützlicher Hinweis, wenn Sie Python nach langer Zeit verwenden
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Erstellen Sie mit RDKit einen Befehl zum Suchen nach ähnlichen Verbindungen aus der Zieldatenbank und überprüfen Sie die Verarbeitungszeit