Re: ASM-Ersatzcode gesucht
Verfasst: 01.11.2012 19:35
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.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!!:
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.