Sie sind hier:
Wissen
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
MENU
Medien
Übersicht
Lexikon/Glossar
Spickzettel
Weblog
Konferenzvorträge
Fachbücher
Fachartikel
Leserportal
Autoren gesucht!
Literaturtipps
Praxisnahe Fallbeispiele
Downloads
Newsletter
.NET
Startseite
.NET 8.0
.NET 7.0
.NET 6.0
.NET 5.0
.NET Core
.NET 4.0/4.5.x/4.6.x
.NET 3.0/3.5
.NET 2.0
.NET-Lexikon
Programmiersprachen
Entwicklerwerkzeuge
Klassenreferenz
Softwarekomponenten
Windows Runtime
World Wide Wings-Demo
Versionsgeschichte
Codebeispiele
ASP.NET
Artikel
Bücher
Schulung & Beratung
Konferenzen/Events
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
Forum
Schulung & Beratung
PowerShell
Startseite
Commandlet-Referenz
Codebeispiele
Commandlet Extensions
Versionsgeschichte
Schulungen+Beratung
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Scripting
Startseite
Lexikon
FAQ
Bücher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
WMI-Klassenreferenz
Scripting-Tools
WSH-Editoren
Codebeispiele
.NET-Scripting
Forum
Schulung & Beratung
Nutzer
Anmeldung/Login
Buchleser-Registrierung
Gast-Registrierung
Hilfe
Website-FAQ
Technischer Support
Site Map
Tag Cloud
Suche
Kontakt
Erklärung des Begriffs: Managed Profile Guided Optimization (MPGO)
Begriff
Managed Profile Guided Optimization
Abkürzung
MPGO
Eintrag zuletzt aktualisiert am
12.11.2024
Zur Stichwortliste unseres Lexikons
Was ist
Managed Profile Guided Optimization
?
Managed
Profile Guided Optimization
(PGO) analysiert das Verhalten von Anwendungen (insbesondere die Reihenfolge der Nutzung von Programmteilen) und optimiert daraufhin den Compiler, sodass der beim Programmstart benötigte Programmcode bevorzugt übersetzt wird und die Anwendung
schneller startet.
Managed
Profile Guided Optimization
(MPGO) ist eine Variante des allgemeinen PGA-Verfahren für .NET und für den
Just-in-Time-Compiler
.
Microsoft verwendet für die Erstellung der Native Images der
.NET Framework
Assemblies schon länger einen Optimierungsprozess, der die Reihenfolge des Programmcodes im Native Image an die tatsächliche Verwendung des Programmcodes anpasst. Diese Managed
Profile Guided Optimization
(MPGO) ist ab
.NET 4.5
auch für selbstgeschriebene Assemblies in Form des Werkzeugs mpgo.exe in
Visual Studio
Ultimate verfügbar.
Zunächst zeichnet man mit dem Werkzeug Nutzungsdaten einer Anwendung auf:
MPGO -scenario Anwendung.exe -AssembyList meineBibliothek.dll -OutDir C:\temp\Ausgabe\
Nach dem Start der Anwendung sollte eine Reihe repräsentativer Benutzungsszenarien in der Anwendung durchlaufen.
Anschließend muss man die
DLL
noch mit dem Native Image Generator (ngen.exe) zu einem Native Image verwandeln und im
Native Image Cache
(einem Teil des
GAC
) installieren:
ngen.exe install C:\temp\Ausgabe\meineBibliothek.dll
Hinweis: Managed
Profile Guided Optimization
(MPGO) darf nicht mit der Parallel JIT Compilation (alias Multi-Core-JIT – MCJ) verwechselt werden. MCJ beschleunigt Anwendungen, die in Intermediate Langu-age vorliegen. MPGO beschleunigt Native Images. Native Images an sich sind tendentiell schneller als Intermediate Language-Assemblies. Daher sollte MPGO in der Regel zu einem besseren Ergebnis führen also MCJ.
Achtung: Microsoft schreibt in der Dokumentation (
http://msdn.microsoft.com/de-de/library/hh873180(v=vs.110).aspx)
, dass Ngen.exe und Mpgo.exe für
IIS
-basierte Serveranwendungen (
ASP.NET
und
WCF
) nicht empfohlen sind. Mpgo.exe ist zudem nicht möglich für
Windows 8
-
Metro
-Apps
PGO im modernen .NET (.NET Core)
Ab Version 1.1 verwendet Microsoft PGO auch für die
.NET Core Runtime
-Assemblies.
Verbesserungen in
.NET 6.0
:
https://devblogs.microsoft.com/dotnet/conversation-about-pgo/
Standard ab
.NET 8.0
:
https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-5/#codegen
Querverweise zu anderen Begriffen im Lexikon
Profile Guided Optimization (POGO)
Just-in-Time-Compiler
Native Image Cache
.NET Core Runtime
.NET Framework
Visual Studio (VS)
Windows 8
.NET 8.0 (.NET 8)
.NET 6.0 (.NET 6)
.NET 4.5
Metro
Active Server Pages .NET (ASP.NET)
Global Assembly Cache (GAC)
Dynamic Link Library (DLL)
Internet Information Server (IIS)
Windows Communication Foundation (WCF)
Beratung & Support
Anfrage für Beratung/Consulting zu Managed Profile Guided Optimization MPGO
Gesamter Beratungsthemenkatalog
Technischer Support zum Managed Profile Guided Optimization MPGO
Schulungen zu diesem Thema
Anfrage für eine individuelle Schulung zum Thema Managed Profile Guided Optimization MPGO
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr