Italia
Assembler Foro

Langsame Highlevel-Loops?

 
Hm mir kommt vor, die Highlevel Loops des MASM32-8/9 sind doch um Einiges langsamer als händisch programmierte... Gleiches gilt per die Verwendung des REP (=repeat) Vorsatzes bei den neuen CPU-Befehlen... Hat jemand ähnliche Erfahrungen gemacht, oder muss ich da irgendwelche Optimierungsflags einschalten?
 
02.10.2008  
 



Es kommt darauf an, wie hoch du den Stack absichert usw.ist eine wesentliche Beeinflussung.

Was meinst du, wofür die Optimierungsschalter sind??? per das Compilieren.

mfg
 
02.10.2008  
 



Ähm... Bitte wie sichere Io l' Stack ab? Das sollte doch nur 1x passieren, beim Start der Schleife, und damit zeitlich nicht ins Gewicht fallen! Oder è das, die MASM-Macrobefehle sichern ständig Zwischenergebnisse auf den Stack?
 
03.10.2008  
 




Frank
Abbing

Hm mir kommt vor, die Highlevel Loops des MASM32-8/9 sind doch um Einiges langsamer als händisch programmierte...


Das liegt ja daran, wie der Assembler die Loops umsetzt. So eine Standard-Übersetzung kann ja nie so gut sein, wie eine von Hand erstellte Schleife, die auf den jeweiligen Code in der Scheife optimiert wird. Z.B. wird das benutzte Zähl-Register auf den Stack gerettet und später wieder verwendet. Das brauchst du in der von Hand programmierten Schleife nicht zu machen, wenn das Register ansonsten unbenutzt ist.


Gleiches gilt per die Verwendung des REP (=repeat) Vorsatzes bei den neuen CPU-Befehlen...


Hm, REP ist ja recht angestaubt. Ich selber verwende es eigentlich nie.


Oder è das, die MASM-Macrobefehle sichern ständig Zwischenergebnisse auf den Stack?


Vermutlich, ja. Wie oben schon beschrieben. Ist ja auch sinnvoll, weil du so auf kein Register verzichten musst.
 
04.10.2008  
 



Darum die Frage, ob man das Optimierungsziel des MASM irgendwie auf "speed" statt auf "universelle Registerverfügbarkeit" setzen kann. Wäre schade wenn das nicht geht, der Geschwindigkeitsgewinn wäre nämlich erheblich. In der Aiuto hab ich bisher aber nix dazu gefunden...
Saluto
Peter S. der ältere
 
04.10.2008  
 




Frank
Abbing
Hm, da müsstest du mal nach entsprechenden Schaltern per die ML.exe suchen, so aus dem Kopf wüsste ich da nichts.
Ich selber habe auch nicht festgestellt, dass der Geschwindigkeitsverlust dermassen rapide wäre. Der MASM32 Assembler wird von Steve Hutchesson weiter entwickelt, einem Assemblerfreak, bei dessen Erwähnung seines blossen Namens ich schon in blanker Ehrfurcht im Boden versinken möchte ob meiner eigenen bescheidenen Asm-Kenntnisse.
Du könntest mal einen Testcode von dir posten, vielleicht versteckt sich ja nur ein simpler Zähl-Fehler darin.
 
04.10.2008  
 



Auch eine Fundgrube dazu:  [...] 
Insbesondere das timing-programm  [...] 
Wie man an die Switches kommt, sagt uns unter punkt 6:  [...] 
nämlich mit ml /? > ML.TXT in einer DOS-Box. Ergebnis per meinen MASM 9 anbei.
Zur Speedoptimierung muss ich mich da (bei /Sc ?) aber erst mal reinlesen...
Ausserdem scheint schon Masm-SDK Version 10 da zu sein:  [...] 
Gruss

18 kB
Hochgeladen:05.10.2008
Downloadcounter357
Download
 
05.10.2008  
 



Hm, keine Option in Richtung Geschwindigkeitsoptimierung gefunden... Bleibt wohl echt dem User überlassen, sich in die Maschinerie der jeweiligen CPU einzuarbeiten. Und die ist heutzutage so kompliziert wie eine Kleinstadt... Aber eines versteh ich jetzt: Warum die Benchmarks von Herstellern so "super" sind: Wird alles händisch optimiert!
 
05.10.2008  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.825 Views

Untitledvor 0 min.
Jens-Arne Reumschüssel06.01.2024
p.specht08.06.2021
Jörg Sellmeyer25.05.2018
funkheld06.04.2016
Di più...

Themeninformationen

Dieses Thema hat 3 subscriber:

unbekannt (5x)
Frank Abbing (2x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie