ASM-Ersatzcode gesucht

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: ASM-Ersatzcode gesucht

Beitrag von Danilo »

7x7 hat geschrieben:das Prefeching der CPU habe ich bereits vor 2 Tagen auf der Suche nach Optimierung durch Verwendung der restlichen Register im Originalcode (optimal?) berücksichtigt und brachte unglaubliche 100% Leistungssteigerung in diesem Codesegment und den anderen ähnlichen Macros!!:
Das ist wohl sehr CPU-Abhängig. Bei mir war exakt die gleiche Lösung (eax, ecx, edx nehmen) nicht schneller, sondern nur genauso schnell wie Dein Original mit nur eax.

Zum Cache:
[ebx+8], [ebx+12], [ebx+16], ... [ebx+80] liegen alle nacheinander in dem Array AdressListe(). Dieser Zugriff sollte also noch
recht schnell sein, wenn der Array-Speicher cached ist.
Allerdings wird dazwischen immer mit Inc [eax], Inc [ecx] und Inc [edx] wieder auf unterschiedliche Speicheradressen zugegriffen (auf Elemente des Arrays Ergebnis()),
und diese Zugriffe sind dann nicht unbedingt zusammenhängend.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten