Deutsch
Assembler Forum

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 für 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??? für das Compilieren.

mfg
 
02.10.2008  
 



Ähm... Bitte wie sichere ich den Stack ab? Das sollte doch nur 1x passieren, beim Start der Schleife, und damit zeitlich nicht ins Gewicht fallen! Oder heißt 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 für die Verwendung des REP (=repeat) Vorsatzes bei den neuen CPU-Befehlen...


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


Oder heißt 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 Hilfe hab ich bisher aber nix dazu gefunden...
Gruß
Peter S. der ältere
 
04.10.2008  
 




Frank
Abbing
Hm, da müsstest du mal nach entsprechenden Schaltern für 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 für 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
Ladeanzahl354
Herunterladen
 
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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.600 Betrachtungen

Unbenanntvor 0 min.
Jens-Arne Reumschüssel06.01.2024
p.specht08.06.2021
Jörg Sellmeyer25.05.2018
funkheld06.04.2016
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

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


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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