Gérald Barré
30.01.2024, 08:56 Uhr
.NET: Vom JIT-Compiler erzeugten Assembler-Code prüfen
Wird eine .NET-Methode ausgeführt, kompiliert der JIT-Compiler die Methode in nativen Code, welcher von der CPU ausgeführt wird. In einem Blogbeitrag beschreibt Gérald Barré, wie man den generierten Assembler-Code überprüfen kann.
Ab .NET 7 sind keine komplexen Tools mehr erforderlich, um den vom JIT-Compiler generierten Assembly-Code zu überprüfen. Seither hilft die neue Umgebungsvariable DOTNET_JitDisasm mit dem Namen der zu inspizierenden Methode zu verwenden:
// PowerShell
$env:DOTNET_JitDisasm="Bar"
dotnet run --configuration Release
Deaktiviert man zusätzlich die Umgebungsvariable DOTNET_TieredCompilation, stellt dies sicher, dass die Methode mit der höchsten Optimierungsstufe kompiliert wird:
// PowerShell
$env:DOTNET_JitDisasm="Bar"
$env:DOTNET_TieredCompilation="0"
dotnet run --configuration Release
Wie das Vorgehen dabei genau aussieht, erklärt dieser Blogbeitrag von Gérald Barré.