Seite 2 von 5

Verfasst: 03.10.2005 15:20
von Deeem2031
Der SOurce würde dir aber nicht viel bringen, da du alle PHP-String-befehle übersetzen müsstest. Oder du erzählst mir, wie ich 'ne Linux-Library erstelle und ich übersetz die PHPString-Lib für Linux.

Für alle die OnError-Fehler mitm Optimierer bekommen: Werds bald fixen, muss das System nochma neu aufbauen.

Verfasst: 03.10.2005 15:30
von MVXA
Schade :|

Verfasst: 07.10.2005 00:34
von Deeem2031
Version 1.05 ist fertig:

Was gibts neues? Nichts, ich hab nur alle bekannten Bugs behoben. :)

@MVXA: Da ich selber auch versuche mich an Linux zu gewöhnen und mit Purebasic rumprobiere, wird es vielleicht bald auch eine Linux-Version geben.

EDIT: Da warscheinlich kaum einer den Beitrag schon gelesen hat:
Version 1.06:

-ersetzen von SYS_StringEqual mit Nullstrings durch direkte Verarbeitung

D.h. alle Vergleiche von Strings mit einem NullString, sprich "If string.s" laufen schneller. ('If string.s <> ""' wird nicht verbessert)

Bsp:

Code: Alles auswählen

Procedure a(x) 
  Protected a,b,c 
  a = x 
EndProcedure 

#r = 40000000 

s.s = ""

st1 = ElapsedMilliseconds()
For i = 1 To #r
  a(2) 
  If s
  EndIf
Next 
t1 = ElapsedMilliseconds()-st1 

MessageRequester("",Str(t1))
ohne Optimierung: ca. 1030 ms
mit Optimierung: ca. 375 ms

Verfasst: 08.10.2005 00:04
von Deeem2031
Version 1.07:

-Bugfix beim löschen der unnötigen Register-Pushs
-steht ein ProcedureReturn am Ende einer Procedure wird das zurücksetzen des Ergebnisses gelöscht

(hab jetzt den ersten Post auch aktuallisiert)

Verfasst: 08.10.2005 02:28
von nicolaus
ich habe jetzt mal nur mit deinem opti (ohne remi´s) versuche gemacht.

Ohne opti hat das compilieren 1,265 sec gedauert und das ergebniss sah so aus (so soll es auch aussehen):
Bild

Mit deinem opti hat das compilieren 29,297 sec gedauert und das ergebniss sah so aus (so soll es nicht aussehen):
Bild

Ich würde sagen irgendwo optimierst du ein wenig zu viel :mrgreen:

Gruß Nico

Verfasst: 08.10.2005 02:44
von Deeem2031
Das es langsam ist, ist klar, Geschwindigkeit braucht nunmal seine Zeit ( :lol: ) aber das der Style von Windows sich ändern ist äußerst seltsam. Vielleicht stellst du in der D_Optimizer.ini die ganzen Features mal aus und schaltest sie einzeiln ein, so könnte ich das Problem eventuell beseitigen.

Verfasst: 08.10.2005 02:48
von nicolaus
zur erklärung was das ist wo die farbe fehlt. das sind textgadget´s wo ich halt die farbe für hintergrund und text geändert habe.

Verfasst: 08.10.2005 10:53
von Deeem2031
Hast du denn mal versucht die einzelnen Optimierungen abzuschalten um rausfinden worans liegt? Dass sich die Hintergrundfarbe ändert kann nämlich nicht direkt vom Optimierer abhängen, der optiiert ja keine API-Aufrufe oder ähnliches. Warscheinlich steht dein Aufruf in einer Procedure, die durch das Optimieren nicht mehr so funktioniert wie sie soll.

Verfasst: 08.10.2005 13:07
von Deeem2031
Ich hab grad ein wenig mit Fred geplaudert und da sich Fred nicht an Standards halten kann, muss ich paar Dinge, die normalerweise super funktionieren, wieder rausnahmen. So kommen die optimierten Procs z.B. mit Callbacks nicht klar, weil intern Esi, Edi und Ebx geändert werden, ohne sie zurückzusetzen. Was zwar in PB Standard zu seien scheint, bei den meisten anderen Sprachen aber nicht. Von daher, eine gefixte (und leider nicht mehr so schnelle) Version 1.10:

http://www.deeem2031.de/PB/D_Optimizer.zip

Verfasst: 08.10.2005 14:24
von nicolaus
Deeem2031 hat geschrieben:... So kommen die optimierten Procs z.B. mit Callbacks nicht klar, weil intern Esi, Edi und Ebx geändert werden, ohne sie zurückzusetzen....

http://www.deeem2031.de/PB/D_Optimizer.zip
Genau das schein bei mir dsa prob gewesen zu sein denn wenn ich jetzt deinen optimizer benutze (also den neuen geänderten) dann siehts aus wies aussehen soll :allright: