Erleichtern Sie das Lesen der x86-Assembly-Ausgabe zur Leistungsoptimierung
Bei der Untersuchung der x86-Assembly-Ausgabe des Go-Compilers zur Leistungsoptimierung ist die Standardeinstellung Die Ausgabe kann schwierig zu verstehen sein. Dieser Artikel befasst sich mit zwei Anliegen: dem Generieren einer externen Assembly-Datei und dem Trennen von Funktionen innerhalb des Assembly-Codes.
Generieren einer Assembly-Datei
Sie können die Go-Assembly-Ausgabe in eine umleiten Datei mit dem folgenden Befehl:
go tool compile -S file.go > file.s
Dadurch wird der Assemblercode in einer Datei mit dem Namen „file.s“ für später gespeichert Analyse.
Funktionen trennen
Um Funktionen zu trennen und Beschriftungen hinzuzufügen, deaktivieren Sie die Compiler-Optimierungen mit dem Flag -N:
go tool compile -S -N file.go
Alternativ: Sie können den gccgo-Compiler verwenden:
gccgo -S -O0 -masm=intel test.go
gccgo generiert eine Datei mit dem Namen „test.s“ mit Assemblercode, der Funktionsgrenzen und Beschriftungen enthält.
Durch die Angabe verschiedener Optimierungsstufen mit -O{0-3} können Sie die Auswirkungen von Optimierungen auf den Assemblercode beobachten und Bereiche dafür identifizieren mögliche Leistungsverbesserungen.
Das obige ist der detaillierte Inhalt vonWie kann ich die x86-Assembly-Ausgabe von Go für die Leistungsoptimierung lesbarer machen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!