Programmanalyse

Anfängerfragen zum Programmieren mit PureBasic.
plzgroe
Beiträge: 12
Registriert: 27.03.2013 15:24

Programmanalyse

Beitrag 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 ?
MfG

Paul
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Programmanalyse

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
plzgroe
Beiträge: 12
Registriert: 27.03.2013 15:24

Re: Programmanalyse

Beitrag 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.
MfG

Paul
Antworten