Und nicht nur das es der erste Optimierer für 4.0 ist - es ist auch das erste Projekt, das mit PB.Net geschrieben wurde. (Die .Net Exe brauch auch demensprechend das .Net Framework 2.0+)
Bisher implementierte Optimierungen:
-remove unused code after 'JMP' (Version 1.0)
-replace SYS_StringEqual (Ecx = 0) (Version 1.0)
-remove useless PUSH/POP (Version 1.0)
Installation ist ähnlich wie beim alten Optimierer:
-umbenennen: "\Compilers\Fasm.exe" -> "\Compilers\Fasm2.exe"
-downloaden & in "\Compilers\" Ordner entpacken:
-.Net: http://www.deeem2031.de/PB.Net/D_Optimizer_Net.zip
-x86: http://www.deeem2031.de/PB.Net/D_Optimizer_x86.zip
-ausprobieren

Noch'n kl. Bsp:
Code: Alles auswählen
Procedure p()
ProcedureReturn #True
EndProcedure
Dim a(10,10)
#r = 50000000
t1 = ElapsedMilliseconds()
For i = 1 To #r
If a.s
EndIf
p()
a(1,2) + 1
Next
t1 = ElapsedMilliseconds() - t1
MessageRequester("",Str(t1)+" ("+Str(a(1,2))+")")
ohne Optimierung: 2700 ms
mit Optimierung: 725 ms
Feedback und Bugreports sind natürlich willkommen

(Alter Thread: http://www.purebasic.fr/german/viewtopi ... optimierer (für PB3.94))