Purefiler - Ein alternativer Profiler
- Didelphodon
- Beiträge: 360
- Registriert: 18.12.2004 13:03
- Wohnort: Wien
- Kontaktdaten:
Re: Purefiler - Ein alternativer Profiler
@Kiffi: Ich habs jetzt geschafft, denke ich. Die neue Version (Build 84), die online ist, erkennt auch Labels mit Blanks vor dem ":"
Das Leben ist ein sch*** Spiel, aber die Grafik ist irre!
Fighting for peace is like fuc*ing for virginity!
Fighting for peace is like fuc*ing for virginity!
Re: Purefiler - Ein alternativer Profiler
Bingo! Dieser Syntax Error ist nun weg.Didelphodon hat geschrieben:@Kiffi: Ich habs jetzt geschafft, denke ich. Die neue Version (Build 84), die online ist, erkennt auch Labels mit Blanks vor dem ":"
Meinen 'geheimen' Code habe ich mittlerweile auf ein Minimum entschlacken können:
Code: Alles auswählen
EnableExplicit
XIncludeFile "C:\Program Files\PureBasic\Examples\ScintillaHelper\ScintillaHelper.pbi"
Procedure Main()
Protected WWE, Quit
OpenWindow(0,#PB_Ignore,#PB_Ignore,100,100,"")
Repeat
WWE = WaitWindowEvent()
Select WWE
Case #PB_Event_CloseWindow
Quit = #True
EndSelect
Until Quit = #True
EndProcedure
Main()
End
Den Scintilla-Helper gibt es hier:
http://www.realsource.de/index.php/down ... illahelper
Danke & Grüße ... Kiffi
Hygge
- Didelphodon
- Beiträge: 360
- Registriert: 18.12.2004 13:03
- Wohnort: Wien
- Kontaktdaten:
Re: Purefiler - Ein alternativer Profiler
Der war ein guter! Der Scintilla-PBI-File hat ein BOM zu Beginn - worauf ich bislang nicht reagiert habe - und das hat alles durcheinander gebracht.Kiffi hat geschrieben:-> Line 199: Syntax error.
Ich habs behoben und eine neue Version ist oben. Build 85
LG Didel.
Das Leben ist ein sch*** Spiel, aber die Grafik ist irre!
Fighting for peace is like fuc*ing for virginity!
Fighting for peace is like fuc*ing for virginity!
Re: Purefiler - Ein alternativer Profiler
Bestätigt. Läuft nun ohne Fehler. Danke!Didelphodon hat geschrieben:Ich habs behoben und eine neue Version ist oben. Build 85
Momentan habe ich noch keinen zeitkritischen Code;
allerdings bietet die Profiler-Auswertung eine gute Zusatz-
information über die Laufzeiten meiner Routinen.
(wundert mich, dass es hier so wenig Feedback von den
Gamern gibt; die müssten den Profiler doch eigentlich sehr
gut gebrauchen können.)
Grüße ... Kiffi
Hygge
- Didelphodon
- Beiträge: 360
- Registriert: 18.12.2004 13:03
- Wohnort: Wien
- Kontaktdaten:
Re: Purefiler - Ein alternativer Profiler
Hm, ja, ich hätt mich auch über mehr positives Feedback, sowohl im englischen Forum, als auch hier, gefreut - Hacke, war das alles nämlich massig.Kiffi hat geschrieben: (wundert mich, dass es hier so wenig Feedback von den
Gamern gibt; die müssten den Profiler doch eigentlich sehr
gut gebrauchen können.)
Anyway, wenigstens ist das Teil jetzt wirklich in einem herzeigbaren, stabilen Zustand.
LG Didel.
Das Leben ist ein sch*** Spiel, aber die Grafik ist irre!
Fighting for peace is like fuc*ing for virginity!
Fighting for peace is like fuc*ing for virginity!
Re: Purefiler - Ein alternativer Profiler
So das habe ich jetzt mal als Grund genommen Purefiler auszuprobieren. Nachdem du so viele Updates rausgehauen hast, wollte ich erstmal abwarten bis eine stabile Version online ist. Ich muss außerdem zugeben, dass der lange Beschreibungstext und das Fehlen eine klare Anweisung wie es zu konfigurieren ist, mich abgeschreckt hat.Didelphodon hat geschrieben:Hm, ja, ich hätt mich auch über mehr positives Feedback, sowohl im englischen Forum, als auch hier, gefreut - Hacke, war das alles nämlich massig.Kiffi hat geschrieben: (wundert mich, dass es hier so wenig Feedback von den
Gamern gibt; die müssten den Profiler doch eigentlich sehr
gut gebrauchen können.)
Anyway, wenigstens ist das Teil jetzt wirklich in einem herzeigbaren, stabilen Zustand.
LG Didel.
Also es (Build 85) scheint aber nicht zu funktionieren. Ich starte mit "Kompilieren/Starten" und keine Meldung a la "Purefiler benutzen" kommt. Nur wenn ich - entgegen der Anweisung - es nicht vom Menü verstecke und dann darauf klicke kommt die entsprechende Frage ("mit Purefiler starten"). Drücke ich dann auf ja oder nein tut sich nichts. Mein eigentliches Programm wird in beiden Fällen nicht gestartet! (wobei die IDE kurzzeitig minimiert und maximiert wird?)
Getestet mit PureBasic 4.51 auf XP SP3 x86 und beliebigem Quellcode.
Kleine Frage am Rande: Kann ich auch selber festlegen wo die Logs abgespeichert werden? Ich hätte sie nämlich gerne im selben Verzeichnis von der Exe und nicht irgendwo im System versteckt.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Re: Purefiler - Ein alternativer Profiler
auch von mir hier mal ein dickes lob.
'Profiler' sind absolut wichtig (in jedem größeren Projekt )
um sogannte 'Bottlenecks' (Flaschenhals) festzustellen und
Programmteile später optimieren zu können.
Wir haben diese Jahr schon über $500 in einen besseren
Profiler für VS2005 gesteckt. Der Findet dann aber auch noch
Memoryholes(also mit sowas wie dem 'Purify' ) .
Also , mache bitte weiter.
'Profiler' sind absolut wichtig (in jedem größeren Projekt )
um sogannte 'Bottlenecks' (Flaschenhals) festzustellen und
Programmteile später optimieren zu können.
Wir haben diese Jahr schon über $500 in einen besseren
Profiler für VS2005 gesteckt. Der Findet dann aber auch noch
Memoryholes(also mit sowas wie dem 'Purify' ) .
Also , mache bitte weiter.
Rings hat geschrieben:ziert sich nich beim zitieren
Re: Purefiler - Ein alternativer Profiler
Wenn Du Purefiler so wie im ersten Posting von Didelphodon eingerichtet hast, dannc4s hat geschrieben:Ich starte mit "Kompilieren/Starten" und keine Meldung a la "Purefiler benutzen" kommt.
wird der Purefiler-Code in die Exe eingebaut, wenn Du "Create Executable" ausführst.
Danach musst Du Deine Exe starten und die zu testenden Programmteile durchlaufen werden.
Hiernach startest Du den Purefiler ohne Parameter. In der Combobox oben links kannst Du dann
Dein Projekt auswählen und anzeigen lassen.
Grüße ... Kiffi
Hygge
- Didelphodon
- Beiträge: 360
- Registriert: 18.12.2004 13:03
- Wohnort: Wien
- Kontaktdaten:
Re: Purefiler - Ein alternativer Profiler
Danke für die netten Worte - das motiviert sehr!
Ich mach natürlich weiter.
Wie rings es richtig beschrieben hat, wird der Purefiler in seiner (gedachten) initialen Konfiguration erst beim Builden des Exes hineincompiliert. Ob es generell auch beim normalen Compile/Run funktioniert, hab ich noch gar nicht ausprobiert - vielleicht machts ja wer.
Zur Frage nach dem Ablageort der Profiling-Informationen:
Nein, aktuell ist es noch nicht möglich dies zu konfigurieren - aber ich seh schon, dass ich um irgendeine Art von Konfiguration nicht herumkommen werde und da werde ich dann auch die Ablage benutzerdefinierbar machen.
Ach ja, wenn jemand weiß, wie man unter Linux einen Hires-Timestamp ausliest, könnte ich Purefiler auch für Linux zugänglich machen.
LG Didel.
Ich mach natürlich weiter.
Wie rings es richtig beschrieben hat, wird der Purefiler in seiner (gedachten) initialen Konfiguration erst beim Builden des Exes hineincompiliert. Ob es generell auch beim normalen Compile/Run funktioniert, hab ich noch gar nicht ausprobiert - vielleicht machts ja wer.
Zur Frage nach dem Ablageort der Profiling-Informationen:
Nein, aktuell ist es noch nicht möglich dies zu konfigurieren - aber ich seh schon, dass ich um irgendeine Art von Konfiguration nicht herumkommen werde und da werde ich dann auch die Ablage benutzerdefinierbar machen.
Ach ja, wenn jemand weiß, wie man unter Linux einen Hires-Timestamp ausliest, könnte ich Purefiler auch für Linux zugänglich machen.
LG Didel.
Das Leben ist ein sch*** Spiel, aber die Grafik ist irre!
Fighting for peace is like fuc*ing for virginity!
Fighting for peace is like fuc*ing for virginity!
Re: Purefiler - Ein alternativer Profiler
Von mir auch mal ein Fettes Lob, kann ich gut brauchen dein Tool
Leider scheint es mit ASM nicht so zurechtzukommen, folgender Code wirft einen ASM - Error mit deinem Profiler:
Gruß, Alex
Leider scheint es mit ASM nicht so zurechtzukommen, folgender Code wirft einen ASM - Error mit deinem Profiler:
Code: Alles auswählen
Procedure _CreateHash(*pKey.CHARACTER, Mapsize.i)
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
!MOV EAX,5381 ;Startwert hash
!MOV EBX,EAX ;für erste Addition in Schleife
!MOV ESI,dword[p.p_pKey] ;oder LEA ESI,[v_pKey], aber wenn p_pKey eh schon da ist...
!XOR EDX,EDX ;EDX auf Null setzen
!MOV CL,5 ;sollte so schneller sein
!@@:
!MOV DL,[ESI] ;also kein Unicode!
!OR DL,DL ;Test auf Null
!JZ @f ;ist Null, Sprung vorwärts
!SHL EAX,CL
!ADD EAX,EBX
!ADD EAX,EDX
!MOV EBX,EAX ;"alten" hash sichern
!INC ESI
!JMP @b ;Sprung rückwärts, nächsten Wert einlesen
!@@:
!MOV dword[p.p_pKey],esi ;wirklich Pointer erhöhen? Sonst weg
!XOR EDX,EDX ;schneller und richtiger (!) als CDQ ich gehe hier mal von vorzeichenlosen Werten aus
!DIV dword[p.v_Mapsize] ;EAX ist noch hash
!MOV EAX,EDX ;Divisions-Rest
CompilerElse
!MOV RAX,5381 ;Startwert hash
!MOV RBX,RAX ;für erste Addition in Schleife
!MOV ESI,dword[p.p_pKey] ;oder LEA ESI,[v_pKey], aber wenn p_pKey eh schon da ist...
!XOR RDX,RDX ;EDX auf Null setzen
!MOV CL,5 ;sollte so schneller sein
!@@:
!MOV DL,[ESI] ;also kein Unicode!
!OR DL,DL ;Test auf Null
!JZ @f ;ist Null, Sprung vorwärts
!SHL RAX,CL ;SHL = SAL; SAL wird selten angegeben
!ADD RAX,RBX
!ADD RAX,RDX
!MOV RBX,RAX ;"alten" hash sichern
!INC ESI
!JMP @b ;Sprung rückwärts, nächsten Wert einlesen
!@@:
!MOV dword[p.p_pKey],esi ;wirklich Pointer erhöhen? Sonst weg
!XOR RDX,RDX ;schneller und richtiger (!) als CDQ ich gehe hier mal von vorzeichenlosen Werten aus
!DIV dword[p.v_Mapsize] ;EAX ist noch hash
!MOV RAX,RDX ;Divisions-Rest
CompilerEndIf
ProcedureReturn ;Gibt Hash in EAX zurück
EndProcedure
_CreateHash(@"test", 1000)
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86