Blitz Profiler v1.0 - Druckversion +- AmiBlitz³ (https://www.amiblitz.de/community) +-- Forum: Blitzbasic2 (https://www.amiblitz.de/community/forum-5.html) +--- Forum: Showcase (https://www.amiblitz.de/community/forum-10.html) +--- Thema: Blitz Profiler v1.0 (/thread-204.html) |
Blitz Profiler v1.0 - hackball - 08.12.2019 Ohje, ich hab endlich wieder ein Projekt fertig! Und zwar hatte ich mal letztes Jahr in einem Forum einen PROFILER für Blitzbasic2 angedeutet. Der war im Prinzip damals schon fertig, ich mußte nur noch die Zeitmessung dazubauen. Da half mir dann noname/haujobb aus. Wieauchimmer, ich habe es jetzt (mit den gegenwärtigen Spezifikationen) fertig. Über die Distribution muß ich noch nachdenken, ist ja kein OpenSource aber kosten soll es natürlich auch nix. Vielleicht ein Precompile-Include oder so. Was tut es? Es stellt einfache Methoden zur Verfügung, benutzte Prozeduren zu zählen und die darin verbrachte Zeit zu messen. (man muß natürlich die für das Profiling selbst benutzte Zeit im Auge behalten). Dafür fügt man in jede zu überwachende Prozedur einen "Entry" und am Ende einen "Exit" Aufruf ein. Am Ende kann man (bisher) ein paar Statistiken ausgeben: [attachment=23] Schaut mal unten auf das Beispiel, das ist kurz und verständlich. Da ist natürlich eine GUI geplant, und statistische Auswertungen und und und. Ist vielleicht ganz sinnvoll? Code: ; RE: Blitz Profiler v1.0 - asrael - 09.12.2019 Hi. Wie würde das praktisch ablaufen? Ich baue eine Version mit profiling zum debugging bzw. Überprüfung der Laufzeiten von verschiedenen Funktionen. Und eine normale Version, weil die profiling Info soll ja der Anwender nicht unbedingt sehen. Oder ließe sich das zur Laufzeit ein- bzw. ausschalten? Grüße RE: Blitz Profiler v1.0 - hackball - 09.12.2019 Das Profiling wird mit dem ON Flag zugeschaltet, sofern du Code auch entsprechend vorbereitet hast. Wenn das Flag auf 0 steht, dann ist es auch nicht reinkompiliert, von belanglosen Stümpfen mal abgesehen. Es eignet sich auch nur zum Optimieren, es ist allgemein nicht dazu gedacht, ins Release reinkompiliert zu werden; der Timer z.B. würde ja irgendwann überlaufen oder die Zähler. Bis jetzt kann man auch noch nicht verschachteln, d.h. man muss bis jetzt immer das Paar entryfunc exitfunc hintereinander benutzen. RE: Blitz Profiler v1.0 - hackball - 13.12.2019 Für "normalen" Code, also nicht speziell Prozeduren, füge ich dann noch eigene Kommandos hinzu. |