Sdílet prostřednictvím


Referenční informace: Zobrazení windows Analyzátor výkonu

Nástroje C++ Build Insights jsou dostupné v sadě Visual Studio 2019 a novějších. Pokud chcete zobrazit dokumentaci pro tuto verzi, nastavte ovládací prvek selektoru verzí sady Visual Studio pro tento článek na Visual Studio 2019 nebo novější. Nachází se v horní části obsahu na této stránce.

Tento článek obsahuje podrobnosti o jednotlivých zobrazeních C++ Build Insights dostupných ve Windows Analyzátor výkonu (WPA). Na této stránce můžete najít:

  • popisy datových sloupců; a
  • dostupné přednastavení pro každé zobrazení, včetně jejich zamýšleného použití a upřednostňovaného režimu zobrazení.

Pokud s WPA teprve začínáte, doporučujeme, abyste se seznámili se základy WPA pro přehledy sestavení C++.

Průzkumník sestavení

Zobrazení Průzkumníka sestavení slouží k:

  • diagnostikovat problémy s paralelismu,
  • určete, jestli čas sestavení dominuje parsováním, generováním kódu nebo propojením a
  • identifikovat kritické body a neobvykle dlouhé aktivity sestavení.

Sloupce s daty zobrazení v Průzkumníku sestavení

Název sloupce Popis
BuildTimelineDescription Textový popis časové osy, na které se aktuální aktivita nebo vlastnost vyskytuje.
BuildTimelineId Identifikátor založený na nule pro časovou osu, na které se aktuální aktivita nebo vlastnost vyskytuje.
Komponenta Komponenta kompilovaná nebo propojená při vygenerování aktuální události. Hodnota tohoto sloupce je <Invocation X Info,> pokud k této události není přidružena žádná komponenta. X je jedinečný číselný identifikátor pro vyvolání, které se spouští v době, kdy byla událost vygenerována. Tento identifikátor je stejný jako identifikátor ve sloupci InvocationId pro tuto událost.
Počet Počet aktivit nebo vlastností reprezentovaných tímto řádkem dat. Tato hodnota je vždy 1 a je užitečná pouze ve scénářích agregace, když se seskupí více řádků.
ExclusiveCPUTime Množství času procesoru v milisekundách používaných touto aktivitou. Doba strávená v dětských aktivitách není zahrnuta v této výši.
ExclusiveDuration Doba trvání aktivity v milisekundách. Doba trvání podřízených aktivit není zahrnuta v této výši.
InclusiveCPUTime Doba procesoru v milisekundách používaná touto aktivitou a všemi podřízenými aktivitami.
InclusiveDuration Doba trvání této aktivity v milisekundách včetně všech podřízených aktivit.
InvocationDescription Textový popis vyvolání této události. Popis zahrnuje, jestli byl cl.exe nebo link.exe, a jedinečný číselný identifikátor vyvolání. Pokud je to možné, zahrnuje úplnou cestu ke komponentě zkompilované nebo propojené během vyvolání. Pro vyvolání, které nevystavují žádnou komponentu nebo pro ty, které sestavují více komponent, je cesta prázdná. Identifikátor vyvolání je stejný jako identifikátor volání ve sloupci InvocationId.
InvocationId Došlo k jedinečnému číselnému identifikátoru pro vyvolání této události.
Název Název aktivity nebo vlastnosti reprezentované touto událostí.
Čas Časové razítko, které identifikuje, kdy došlo k události.
Nástroj Nástroj, který se spouští, když došlo k této události. Hodnota tohoto sloupce je CL nebo Link.
Typ Typ aktuální události. Tato hodnota je aktivita nebo vlastnost.
Hodnota Pokud je aktuální událost vlastností, tento sloupec obsahuje jeho hodnotu. Pokud je aktuální událost aktivitou, zůstane tento sloupec prázdný.

Předvolby zobrazení Průzkumníka sestavení

Přednastavený název Upřednostňovaný režim zobrazení Způsob použití
Statistika aktivity Graf nebo tabulka Tato předvolba slouží k zobrazení agregovaných statistik pro všechny aktivity Průzkumníka sestavení. V režimu tabulky můžete na první pohled zjistit, jestli sestavení dominuje parsováním, generováním kódu nebo linkerem. Agregované doby trvání pro každou aktivitu se seřadí sestupně. Přechodem k podrobnostem rozbalením horního uzlu snadno zjistíte, které vyvolání pro tyto hlavní aktivity trvá nejvíce času. Pokud chcete, můžete upravit nastavení WPA tak, aby zobrazovala průměry nebo jiné typy agregací. V režimu grafu se podívejte, kdy je každá aktivita aktivní během sestavení.
Vyvolání Graf Projděte si seznam vyvolání v zobrazení grafu seřazený podle počátečního času. Můžete ho použít společně se zobrazením cpu (vzorkovaný) a najít vyvolání, která odpovídají zónám nízkého využití procesoru. Detekce problémů s paralelismu
Vlastnosti vyvolání Table Rychle najdete klíčové informace o daném vyvolání kompilátoru nebo linkeru. Určete jeho verzi, pracovní adresář nebo úplný příkazový řádek, který se používá k jeho vyvolání.
Časové osy Graf Podívejte se na pruhový graf toho, jak se sestavení paralelizovalo. Na první pohled identifikujte problémy s paralelismu a kritické body. Nakonfigurujte WPA tak, aby přiřazování různých významů pruhům odpovídalo vašim potřebám. Pokud chcete zobrazit barevný pruhový graf všech vašich vyvolání, zvolte popis vyvolání jako poslední seskupený sloupec. Pomůže vám rychle identifikovat časově náročné viníky. Potom přiblížíte název aktivity a zvolíte ho jako poslední seskupený sloupec, abyste viděli nejdelší části.

Soubory

Zobrazení Soubory se používá k:

  • určit, které hlavičky se zahrnou nejčastěji, a
  • vám pomůže rozhodnout, co zahrnout do předkompilované hlavičky (PCH).

Soubory zobrazují datové sloupce

Název sloupce Popis
ActivityName Probíhající aktivita při vygenerované události souboru. V současné době se tato hodnota vždy parsuje.
BuildTimelineDescription *
BuildTimelineId *
Komponenta *
Počet *
Hloubka Pozice založená na nule ve stromu zahrnutí, ve kterém je tento soubor nalezen. Počítání začíná v kořenovém adresáři stromu zahrnutí. Hodnota 0 obvykle odpovídá souboru .c/.cpp.
ExclusiveDuration *
IncludedBy Úplná cesta k souboru, který obsahoval aktuální soubor.
IncludedPath Úplná cesta k aktuálnímu souboru.
InclusiveDuration *
InvocationId *
Počáteční čas Časové razítko, které představuje čas, kdy byla vygenerován aktuální událost souboru.
Nástroj *

* Hodnota tohoto sloupce je stejná jako v zobrazení Průzkumník sestavení.

Předvolby zobrazení souborů

Přednastavený název Upřednostňovaný režim zobrazení Způsob použití
Statistika Table Podívejte se, které soubory měly nejvyšší agregovaný čas analýzy, a to tak, že se podíváte na seznam v sestupném pořadí. Tyto informace vám pomůžou změnit strukturu hlaviček nebo rozhodnout, co zahrnout do PCH.

Funkce

Zobrazení Funkce slouží k identifikaci funkcí s příliš dlouhou dobou generování kódu.

Sloupce dat zobrazení funkcí

Název sloupce Popis
ActivityName Probíhající aktivita při vygenerované události funkce. V současné době je tato hodnota vždy CodeGeneration.
BuildTimelineDescription *
BuildTimelineId *
Komponenta *
Počet *
Doba trvání Doba trvání aktivity generování kódu pro tuto funkci.
FunctionName Název funkce, která prochází generováním kódu.
InvocationId *
Počáteční čas Časové razítko, které představuje, kdy byla vygenerován aktuální událost funkce.
Nástroj *

* Hodnota tohoto sloupce je stejná jako v zobrazení Průzkumník sestavení.

Předvolby zobrazení funkcí

Přednastavený název Upřednostňovaný režim zobrazení Způsob použití
Statistika Table Podívejte se, které funkce měly nejvyšší agregovanou dobu generování kódu, a to tak, že se podíváte na seznam v sestupném pořadí. Můžou vám napovědět, kde váš kód přetěžuje __forceinline klíčové slovo nebo že některé funkce můžou být příliš velké.
Časové osy Graf Podívejte se na tento pruhový graf, kde se dozvíte o umístění a době trvání funkcí,kteréch Podívejte se, jestli jsou v zobrazení Průzkumníka sestavení zarovnané s kritickými body. Pokud ano, proveďte odpovídající akci, abyste zkrátili dobu generování kódu a využili výhod doby sestavení.

Viz také

Začínáme se službou C++ Build Insights
Referenční informace: příkazy vcperf
Kurz: Základy windows Analyzátor výkonu
Windows Analyzátor výkonu