Gewusst wie: Zusammenführen mehrerer PGO-Profile in einem einzigen Profil
Die profilgesteuerte Optimierung (PGO) ist ein hervorragendes Tool für die Erstellung optimierter Binärdateien auf der Grundlage eines Szenarios mit einem Profil. Aber was ist, wenn Ihre Anwendung mehrere wichtige, aber unterschiedliche Szenarios umfasst? Wie können Sie ein einzelnes Profil erstellen, das von PGO in verschiedenen Szenarios verwendet werden kann? In Visual Studio übernimmt der PGO-Manager, pgomgr.exe, diese Aufgabe für Sie.
Die Syntax für das Zusammenführen von Profilen lautet:
pgomgr /merge[:num] [.pgc_files] .pgd_files
Dabei ist num
eine optionale Gewichtung für die PGC-Dateien, die von diesem Merge hinzugefügt werden. Gewichtungen werden häufig verwendet, wenn einige Szenarios wichtiger sind als andere, oder wenn Szenarios vorhanden sind, die mehrmals ausgeführt werden sollen.
Hinweis
Der PGO-Manager funktioniert nicht mit veralteten Profildaten. Um eine PGC-Datei in einer PGD-Datei zusammenzuführen, muss die PGC-Datei von einer ausführbaren Datei generiert werden, die durch denselben Linkaufruf erstellt wurde, der die PGD-Datei generiert hat.
Beispiele
In diesem Beispiel fügt der PGO-Manager „pgcFile.pgc“ sechsmal zu „pgdFile.pgd“ hinzu:
pgomgr /merge:6 pgcFile.pgc pgdFile.pgd
In diesem Beispiel fügt der PGO-Manager „pgcFile1.pgc“ und „pgcFile2.pgc“ zweimal pro PGC-Datei zu „pgdFile.pgd“ hinzu:
pgomgr /merge:2 pgcFile1.pgc pgcFile2.pgc pgdFile.pgd
Wenn der PGO-Manager ohne PGC-Dateiargumente ausgeführt wird, durchsucht er das lokale Verzeichnis nach allen PGC-Dateien, die denselben Basisnamen wie die PGD-Datei gefolgt von einem Ausrufezeichen (!) und einem oder mehreren beliebigen Zeichen aufweisen. Wenn das lokale Verzeichnis beispielsweise die Dateien „test.pgd“, „test!1.pgc“, „test2.pgc“ und „test!hello.pgc“ enthält und der folgende Befehl aus dem lokalen Verzeichnis ausgeführt wird, führt pgomgr die Dateien „test!1.pgc“ und „test!hello.pgc“ in „test.pgd“ zusammen.
pgomgr /merge test.pgd