Udostępnij za pośrednictwem


Porady: scalanie wielu profili PGO w jeden profil

Optymalizacja oparta na profilu (PGO) to doskonałe narzędzie do tworzenia zoptymalizowanych plików binarnych na podstawie scenariusza, który jest profilowany. Ale co zrobić, jeśli masz aplikację, która ma kilka ważnych, ale odrębnych scenariuszy? Jak utworzyć pojedynczy profil, którego PGO może używać z kilku różnych scenariuszy? W programie Visual Studio menedżer PGO, pgomgr.exe, wykonuje to zadanie.

Składnia scalania profilów to:

pgomgr /merge[:num] [.pgc_files] .pgd_files

gdzie num jest opcjonalną wagą do użycia dla plików pgc dodanych przez to scalanie. Wagi są często używane, jeśli istnieje kilka scenariuszy, które są ważniejsze niż inne lub jeśli istnieją scenariusze, które mają być uruchamiane wiele razy.

Uwaga

Menedżer PGO nie działa z nieaktualnymi danymi profilu. Aby scalić plik pgc z plikiem pgd, plik pgc musi zostać wygenerowany przez plik wykonywalny, który został utworzony przez to samo wywołanie linku, które wygenerowało plik pgd.

Przykłady

W tym przykładzie menedżer PGO dodaje plik pgcFile.pgc do pliku pgdFile.pgd sześć razy:

pgomgr /merge:6 pgcFile.pgc pgdFile.pgd

W tym przykładzie menedżer PGO dodaje plik pgcFile1.pgc i pgcFile2.pgc do pliku pgdFile.pgd, dwa razy dla każdego pliku pgc:

pgomgr /merge:2 pgcFile1.pgc pgcFile2.pgc pgdFile.pgd

Jeśli menedżer PGO jest uruchamiany bez żadnych argumentów pliku pgc, przeszukuje katalog lokalny dla wszystkich plików pgc o tej samej nazwie podstawowej co plik pgd, a następnie wykrzyknik (!), a następnie co najmniej jeden dowolny znak. Jeśli na przykład katalog lokalny zawiera pliki test.pgd, test!1.pgc, test2.pgc i test!hello.pgc, a następujące polecenie jest uruchamiane z katalogu lokalnego, program pgomgr scala plik test!1.pgc i test!hello.pgc w pliku test.pgd.

pgomgr /merge test.pgd

Zobacz też

Optymalizacje sterowane profilem