Ich möchte versuchen, meinen Code zu optimieren, und ich möchte die Zeit messen, die eine Funktion benötigt.VB NET Wie man am Anfang und am Ende einer Funktion irgendeinen Code ausführt
Ich habe eine Klasse namens Chrono. Also muss ich nur chrono.start am Anfang der Funktion und chrono.stop am Ende hinzufügen. Meine Klasse chan fügt auch die Zeiten hinzu, die es in einer Liste misst, um dann durchschnittliche Zeit, Gesamtzeit zu haben ...
Es funktioniert. Das einzige Problem ist, wenn es in der Mitte der Funktion exit sub oder return gibt. Nicht wirklich ein Problem, ich füge einfach einen Try am Anfang der Funktion hinzu und setze meinen chrono.stop in den finalen Teil. Ich bin mir nicht sicher, ob es wirklich effizient ist, aber es funktioniert.
Also hier ist meine Frage: Ich hätte gerne eine Funktion Funktion Name als Parameter, die automatisch starten und stoppen meine Klasse, wenn diese Funktion aufgerufen wird. Ich habe von Reflection gehört, aber ich habe keine Ahnung, wie ich es benutzen soll. Und es ist wirklich schwer, im Internet nach dieser Frage zu suchen (weil die Wörter zu häufig sind: "mache etwas am Ende einer Funktion")
Um fortzufahren, funktioniert mein Code, kein Problem. Es beschränkt sich nur auf das Hinzufügen von Code zu einer Funktion für einen kurzen Zeitraum (und manchmal vergessen, es zu entfernen).
Thx (Ich bin französisch und ich hoffe verständlich bin)
Der richtige Weg, dies zu tun wäre, einen Profiler zu verwenden, nicht Ihren eigenen Timer zu rollen. –
Ich erinnere mich, dass es eine AOP-Möglichkeit gibt; Wie auch immer, wenn Sie nur die Leistung messen möchten, sollten Sie die VS Diagnostic Tools ausprobieren. EDIT: Obwohl das AOP wird sich anmelden. –
Ich kann den Profiler von Visual Studio verwenden. Allerdings ist das Laden der Anwendung langsamer, und es ist lang, die Ergebnisse zu haben, weil es alles misst. Aber vielleicht gibt es eine Möglichkeit, ihm zu sagen, was zu messen ist ... Ich werde das untersuchen. Kann ich es nicht so machen, wie ich es gefragt habe? –