Sie sind hier:
Lexikon/Glossar
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
Buy me a coffee
MENU
Start
Hauptseite
Angebote im Überblick
Kernkompetenzen
Softwareentwicklung
Beratung
Firmen-Schulungen
Offene Seminare
Online-Maßnahmen
Vorträge
Coaching
Support
Fachbücher
Fachartikel
Konditionen
Themen
Themenüberblick
Aktuelle Themen
Web & Cloud
Apps / Mobilplattformen
Benutzeroberflächen / User Experience
.NET
JavaScript/TypeScript
Java
Programmiersprachen/Sprachsyntax
Entwicklungswerkzeuge
Scripting
Softwareentwicklung allgemein
Datenbanken
Betriebssysteme und Virtualisierung
Microsoft Server-Produkte
Windows und Microsoft Office für Anwender
Allgemeine IT-Themen
Beratung
Beratungsthemen
Coaching
Softwareentwicklung
Technischer Support
Unsere Top-Berater
Referenzkunden
Angebotsanfrage
Individuelle Schulungen
1020 Schulungsthemen
Agendakonfigurator
Weiterbildungsphilosophie
Didaktische Konzepte
Vor-Ort oder Online
Unsere Top-Trainer
Referenzkunden
Teilnehmerfeedback
Angebotsanfrage
Offene Seminare
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI
Blazor
ASP.NET WebAPI & gRPC
Entity Framework Core
Unit Testing / TDD
PowerShell
Infotage
Wissen
Übersicht
Fachbücher
Fachartikel
Konferenzvorträge
Konferenzen/Events
Spickzettel
Lexikon/Glossar
Programmcodebibliothek
Versionshistorie
Weblog
Downloads
Newsletter
Community-/Leserportal
Registrierung
.NET/C#/Visual Studio
.NET 8.0
.NET 7.0
.NET 6.0
ASP.NET (Core)/Blazor
PowerShell
Über uns
Kontakt
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Top-Experten
Leitung & Kundenteam
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Konditionen
Stellenangebote
Weitere Websites
Impressum
Datenschutzerklärung, Haftung, Urheberrecht
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
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