Seite 1 von 1

Programmanalyse

Verfasst: 31.03.2013 12:38
von plzgroe
Hallo,

Hätte gern mal gewusst, was die Programmanalyse genau macht ?

Da keine Achsbeschriftung vorhanden ist, nehme ich an, das auf der Y-Achse die Zeilenummer
und auf der x-Achse die Zeit in ms abgebildet ist ? Richtig ?

D.h. hier kann ich sehen, in welcher Zeile ( Code ) die meiste Zeit verbraucht wird ...also ein
Schätztool oder ?

Re: Programmanalyse

Verfasst: 01.04.2013 00:04
von STARGÅTE
Nicht ganz. Die Y-Achse ist die Zeilennummer, das ist richtig.
Auf der X-Achsel wird die Anzahl der Aufrufe dargestellt, wie man an diesem Beispiel schon sehen kann:

Code: Alles auswählen

Procedure Beispiel()
	For N = 1 To 10
		Sin(N)
	Next
EndProcedure

For N = 1 To 3
	Beispiel()
Next
CallDebugger
Bild

Hier sieht man sehr schon, das unsere Prozedur zB 3mal Aufgerufen wird, und der Befehl Sin() wegen der inneren Schleife insgesamt 30 mal aufgerufen wird.
Man kann außerdem erkennen, dass Schleifen-Köpfe immer einmal mehr aufgerufen werden, als der Inhalt. Das ist genau das eine mal, wo die Bedingung fehlschlägt.

Wie man diese Daten nutzt, beim einem selbst Überlassen.
Für (Zeit-)Optimierung ist es jedoch nicht gedacht, da ja keine Aussage über die Geschwindigkeit gemacht wird.
Es ist ehr für eine schnelle Kontrolle, wie oft eine bestimmte Prozedur oder so aufgerufen wird, oder wie oft bei IF: ELSE: der Else-Fall eintritt.

Re: Programmanalyse

Verfasst: 01.04.2013 10:50
von plzgroe
STARGÅTE hat geschrieben:Nicht ganz. Die Y-Achse ist die Zeilennummer, das ist richtig.
Auf der X-Achsel wird die Anzahl der Aufrufe dargestellt
ok...verstanden. Die Achsbeschriftung wäre dann sinnvoll.