Optimizer

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Optimizer

Beitrag von remi_meier »

Hi all :)
Hab nach längeren Tests nun endlich das Gefühl, dass ich es ohne Bedenken 'offiziell' veröffentlichen kann.
Link zum Showcase: http://www.purearea.net/pb/showcase/sho ... p=0&sort=1

Und nochmals in der Kurzform:
Der Optimizer nistet sich zwischen PBCompiler und FAsm ein. Er bekommt die Parameter vom PBCompiler, die er, nach den Optimierungen am PureBasic.asm File, an den richtigen FAsm weitergibt!

Linux: Hab kein Linux, könnte aber klappen! Wenns jemand zum Laufen kriegt, soll er sich bei mir melden!

greetz
remi
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

N Update :D
Habs ein bisschen beschleunigt, was aber grad wieder durch die neuen Optimierungen zunichte gemacht wurde :roll:
Zusätzlich hats jetzt im Zip eine Datei "Wies funktioniert", wo erklärt wird, wie die Optimierungen angewandt werden!

Übrigens wäre ich sehr dankbar für weitere Optimierungsideen!

gn8 all!
remi
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag von traumatic »

Cooles Tool. :)
Übrigens wäre ich sehr dankbar für weitere Optimierungsideen!
Das macht nicht allzuviele Zyklen frei, aber wie wär's mit einer Suche nach
unnötigen PUSHs und POPs ? IIRC sichert PB ja immer estmal alles, egal ob
genutzt oder nicht.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Nach der Installation des Optimizers läßt sich TailBite nicht mehr nutzen. Vielleicht ist könnte das noch geändert werden? Ansonsten finde ich es gut
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

ts-soft hat geschrieben:Nach der Installation des Optimizers läßt sich TailBite nicht mehr nutzen. Vielleicht ist könnte das noch geändert werden? Ansonsten finde ich es gut
lässt sich sowieso mit der neuen PB beta nichtmehr nutzen.
Cooles Tool, doch bin ich mit den PB leistungen zufrieden. :allright:
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@DarkDragon
lässt sich sowieso mit der neuen PB beta nichtmehr nutzen
TailBite funktioniert bei mir einwandfrei mit PB 3.93 Beta 2
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

ts-soft hat geschrieben:@DarkDragon
lässt sich sowieso mit der neuen PB beta nichtmehr nutzen
TailBite funktioniert bei mir einwandfrei mit PB 3.93 Beta 2
Kann ich bestätigen, hier auch alles im grünen Bereich.
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Danke für die positiven Feedbacks!
Das mit TailBite krieg ich irgendwie nicht hin :roll: . Wenn ich optimiere, dann stürzt es ab und ohne gibts einen anderen Fehler :|
Aber ich werd noch n bisschen rumprobieren!

greetz
remi
Benutzeravatar
dige
Beiträge: 1246
Registriert: 08.09.2004 08:53

Beitrag von dige »

Der Optmizer braucht auf nem Athlon64FX 25 sek. (63.000 Zeilen) zum optimieren ;-)
Dafür ist der ASM Code um 100KB schlanker :allright:
.. obs allerdings schneller ist konnte ich nicht festellen ...
und nach dem compilieren sind die exe'n das aber doch wieder
gleich groß /:-> ... der FASM scheint wohl auch zu optimieren?
"Papa, ich laufe schneller - dann ist es nicht so weit."
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Jap, ich weiss, ist sehr langsam. Aber er wird wahrscheinlich noch langsamer <) (Benutz ihn einfach nur bei der abschliessenden Exe Compilierung). Mit dem Debugger kann er sowieso nichts optimieren, da immer irgendwelche Debuggersachen zwischen den Zeilen stehen.

Ganz interessant ist folgendes:

Code: Alles auswählen

#N = 999999999

Delay(1000)
!NOP
!NOP
!NOP
!NOP
!NOP
time1 = ElapsedMilliseconds()
For z = 1 To #N
Next
time1 = ElapsedMilliseconds() - time1

time2 = ElapsedMilliseconds()
For z = 1 To #N
Next
time2 = ElapsedMilliseconds() - time2
MessageRequester("", Str(time1)+" "+Str(time2))
Mal schaun ob ich das irgendwie implementieren kann :|

greetz
remi
Antworten