Seite 1 von 4

Analyzer 2.0 für PB 4.0

Verfasst: 13.10.2005 15:25
von remi_meier
Moin!

Nach meinem Optimizer nun mein Analyzer.
Die Idee dafür kam mir, als ich gestern ein Video von va!n über VTune(r)
gesehen habe. Ich dachte mir, sowas könnt ich auch gut für PB brauchen
und hab deshalb heute einfach mal losgeproggt. Wenn sich dieses System,
das ich hier entwickelt habe als nicht aussagekräftig erweist, habe ich noch
ein 2. im Hinterkopf :)

Also nun zum Programm selbst:
Analyzer ist ein Analysetool als IDE-Plugin realisiert. Es Analysiert, wie
lange (fast) jede Codezeile im Programm zum Ausführen benötigte. Dazu
muss das Programm einfach mit Hilfe des Analyzers modifiziert und danach
kompiliert werden. Nach der Ausführung des Programmes wird dann eine
relativ detaillierte analysis.txt im Code-Ordner erstellt, die anzeigt, wie
viel Zeit durch welche Codezeilen benötigt wurde. Nun gilt es diese zu
optimieren :)

Ich empfehle wärmstens die Help.txt im Downloadarchiv! Source ist wie
immer dabei!
Download: Analyzer

Ich werde garantiert noch daran weiter arbeiten, aber denke, dass es jetzt
schon ziemlich brauchbar ist!

Beispiel analysis.txt:
Line 477: Time 19586 LSDraw(*Drawing)
Line 325: Time 3555 Event = WaitWindowEvent()
Line 345: Time 1438 File.s = OpenFileRequester(Open..., , All|*.*, 0)
...
greetz
Remi

Re: Analyzer

Verfasst: 13.10.2005 18:14
von SoS
communication.msg hat geschrieben: Error: Line 0 - Syntax Error !
und in der PB_EditorOutput.pb steht als 1.

Code: Alles auswählen

Structure __an_line
	nr.l
	s.s
	time.l
EndStructure
Ich denke aber das ich es richtig installiert habe ;)

Verfasst: 13.10.2005 18:28
von remi_meier
Danke erstmals fürs Ausprobieren!

Der Fehler kommt bei mir auch manchmal, ist aber für mich im Moment
noch sehr mysteriös... Bei mir reicht es, wenn ich den Source nochmals
abspeichere und neu versuche!

Hab übrigens mit Hilfe von va!n noch ein paar Bugs beseitigt und neu
hochgeladen, ev. war deiner ja auch dabei (hatte den Fehler nun ein
Weilchen nicht mehr).

Was ich noch in der Help vergessen hatte:
Beim Tool unbedingt "Warte bis Tool beendet" einschalten!

greetz
Remi

Verfasst: 13.10.2005 18:52
von SoS
remi_meier hat geschrieben:Beim Tool unbedingt "Warte bis Tool beendet" einschalten!
Hatte ich vorher auch getestet und dann bekomme ich
Error: Line 1371 - A variable in a 'Structure' need a declared Type
in zeile 1371 steht

Code: Alles auswählen

__an_timer(593)
Ich denke mal das da ein Problem mit der Structur besteht

Code: Alles auswählen

Structure StringLong
StructureUnion
string.s
long.l
EndStructureUnion
__an_timer(593)
EndStructure
__an_timer(593)
original

Code: Alles auswählen

Structure StringLong 
  StructureUnion 
    string.s 
    long.l 
  EndStructureUnion 
EndStructure 

Verfasst: 13.10.2005 18:57
von remi_meier
Autsch!
Danke für die gute Beschreibung!

Ich weiss worans liegt, aber auf den Fix musst du leider noch ein wenig
warten, dafür gibts dann auch einiges, was neu ist!

greetz
Remi

Verfasst: 13.10.2005 20:12
von remi_meier
So danke nochmals fürs Testen!

Nach dem Nachtessen gibts nun eine neue Version!
Neu:
# Analyse pausieren für Codestücke
; pause
... asm stuff
; continue

# Ganze Blöcke auf Zeit messen (schachtelbar)!
; block [name]
... loops, code, ...
; endblock

# Bugs behoben

greetz
Remi

EDIT:
Und schon wieder was vergessen...
Wenn man jetzt das Tool im Menu auswählt, wird der Analyzer ab- oder
angeschalten, je nach vorigem Zustand.

Verfasst: 14.10.2005 00:21
von SoS
Moin

Nun läufts bei mir auch problemlos. :allright:

Re: Analyzer

Verfasst: 14.10.2005 08:55
von Kiffi
Hallo remi_meier,
remi_meier hat geschrieben:Nach meinem Optimizer nun mein Analyzer.
ich hab's mir noch nicht angesehen, aber nennt man solche Tools nicht eher Profiler?
remi_meier hat geschrieben:Analyzer ist ein Analysetool als IDE-Plugin realisiert.
... auch für jaPBe oder nur für die Original-IDE?

Danke & Grüße ... Kiffi

Verfasst: 14.10.2005 11:07
von remi_meier
> ich hab's mir noch nicht angesehen, aber nennt man solche Tools nicht
> eher Profiler?
Jap, hab ich grad erfahren, aber man darf ja jedem Programm seinen
eigenen Namen geben (VTune heisst auch nicht nur Profiler), Profiler ist
wohl eher der Typ des Programms.

> ... auch für jaPBe oder nur für die Original-IDE?
Es könnte bei beiden funktionieren (denk ich). Alles was es braucht ist ein
TEMPORÄRES File, welches als Programmparameter übergeben wird!
Dieses wird dann verändert!

@SoS
schön zu hören :)

Update 0.95b!
Analysis.txt ausführlicher + Infofiles im Help-Ordner

Verfasst: 14.10.2005 12:53
von remi_meier
So nun gibts noch ein Merger Tool im ZIP!
Es verbindet einfach alle IncludeFiles eines Projekts miteinander wenn die
Hauptdatei als Programmparameter übergeben wird. Benötigt wird dies,
weil der Analyzer nicht die Möglichkeit hat (Feature :D ) auch die Include-
Files zu modifizieren!

Also einfach Hauptdatei auswählen -> Merger -> Merged ***.pb neu laden
und analysieren!

greetz
Remi