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