.NET Framework

Knowledge Base

.NET Framework

Native Image Generator (ngen)

Der Native Image Generator (ngen) dient zur Vorkompilierung von .NET Assemblies in Maschinencode des Zielsystems und der Speicherung in dem Native Image Cache des Zielsystems.

Dies hat den Vorteil, dass die Common Language Runtime (CLR) die in Common Intermediate Language (CIL) vorliegenden Assemblies nicht zur Laufzeit mittels Just-In-Time-(JIT)-Compiler kompilieren muss, sondern direkt auf die vorkompilierten Abbilder im Native Image Cache zugreifen kann. Damit kann die Performance zur Startzeit gesteigert werden, weil die JIT-Kompilierung selbst ebenfalls Zeit und Systemresourcen benötigt.

Die Verwendung des Native Image Generators (ngen) ist z. B. während der Programminstallation möglich - d. h. eine Installationsroutine eines Programms kopiert die Dateien auf das Zielsystem an die gewünschte Stelle und ruft anschließend für die Assemblies den Native Image Generator (ngen) auf. Ein ähnliches Konzept erfolgt mittlerweile z. B. auch bei der Android Apps für die Android Runtime (ART) - auch hier werden die Programmdateien zunächst auf das Gerät geladen und anschließend in Maschinencode kompiliert.

Der Native Image Generator (ngen) steht als ngen.exe Datei im Verzeichnis Microsoft.NET Verzeichnis, z. B. bei Windows X64 / Deutsch / .NET >= 4.0: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe


Weitere Infos: