Dela via


Referens: Windows Performance Analyzer-vyer

C++ Build Insights-verktygen är tillgängliga i Visual Studio 2019 och senare. För att se dokumentationen för den här versionen, ställ in Visual Studio Version väljarkontroll för den här artikeln till Visual Studio 2019 eller senare. Den finns överst i innehållsförteckningen på den här sidan.

Den här artikeln innehåller information om var och en av de C++ Build Insights-vyer som är tillgängliga i Windows Performance Analyzer (WPA). Använd den här sidan för att hitta:

  • beskrivningar av datakolumner. och
  • tillgängliga förinställningar för varje vy, inklusive avsedd användning och önskat visningsläge.

Om du inte har använt WPA tidigare rekommenderar vi att du först bekantar dig med grunderna i WPA för C++ Build Insights.

Build Explorer

Visningen Build Explorer används för att:

  • diagnostisera parallellitetsproblem,
  • avgöra om din byggtid domineras av parsning, kodgenerering eller länkning och
  • identifiera flaskhalsar och ovanligt långa byggprocesser.

Visa datakolumner i Byggutforskaren

Kolumnnamn Beskrivning
ByggTidslinjeBeskrivning En textbeskrivning av tidslinjen som den aktuella aktiviteten eller egenskapen inträffar på.
BuildTimelineId En nollbaserad identifierare för tidslinjen som den aktuella aktiviteten eller egenskapen inträffar på.
Komponent Komponenten som kompileras eller länkas när den aktuella händelsen utlöstes. Värdet för den här kolumnen är <anrop X Info> när ingen komponent är associerad med den här händelsen. X är en unik numerisk identifierare för anropet som kördes när händelsen utlöstes. Den här identifieraren är samma som i kolumnen InvocationId för den här händelsen.
Räkna Antalet aktiviteter eller egenskaper som representeras av den här dataraden. Det här värdet är alltid 1 och är bara användbart i sammansättningsscenarier när flera rader grupperas.
ExclusiveCPUTime Mängden CPU-tid i millisekunder som används av den här aktiviteten. Den tid som spenderas på barnaktiviteter ingår inte i denna tid.
ExklusivVaraktighet Aktivitetens millisekunders varaktighet. Tiden för barnaktiviteter ingår inte i det här beloppet.
InclusiveCPUTime Mängden CPU-tid i millisekunder som används av den här aktiviteten och alla underordnade aktiviteter.
InkluderandeVaraktighet Varaktigheten i millisekunder för denna aktivitet, inklusive alla underordnade aktiviteter.
Anropsbeskrivning En textbeskrivning av anropet som händelsen inträffade i. Beskrivningen innehåller om det var cl.exe eller link.exeoch en unik numerisk anropsidentifierare. Om tillämpligt innehåller den den fullständiga sökvägen till komponenten som kompilerats eller länkats under anropet. För anrop som inte skapar någon komponent, eller för de som skapar flera komponenter, är sökvägen tom. Anropsidentifieraren är samma som i kolumnen InvocationId.
Anropsidentifierare En unik numerisk identifierare för anropet som händelsen inträffade i.
Namn Namnet på aktiviteten eller egenskapen som representeras av den här händelsen.
Tid En tidsstämpel som identifierar när händelsen inträffade.
Verktyg Verktyget körs när den här händelsen inträffade. Värdet för den här kolumnen är antingen CL eller Link.
Typ Typen av aktuell händelse. Det här värdet är antingen Aktivitet eller Egenskap.
Värde Om den aktuella händelsen är en egenskap innehåller den här kolumnen dess värde. Den här kolumnen lämnas tom när den aktuella händelsen är en aktivitet.

Visa förinställningar för Build Explorer

Förinställt namn Önskat visningsläge Så här använder du
Aktivitetsstatistik Diagram/tabell Använd den här förinställningen om du vill visa aggregerad statistik för alla Build Explorer-aktiviteter. I tabellläge kan du snabbt se om ditt bygge domineras av parsning, kodgenerering eller länkare. De aggregerade varaktigheterna för varje aktivitet sorteras i fallande ordning. Öka detaljnivån genom att expandera den översta noden för att enkelt hitta vilka anrop som tar mest tid för dessa toppaktiviteter. Om du vill kan du justera WPA-inställningarna för att visa medelvärden eller andra typer av sammansättningar. I grafläge kan du se när varje aktivitet är aktiv under bygget.
Anrop Graf Rulla nedåt genom en lista över anrop i grafvyn sorterad efter starttid. Du kan använda den tillsammans med CPU-vyn (sampled) för att hitta anrop som stämmer överens med zoner med låg CPU-användning. Identifiera parallellitetsproblem.
Egenskaper för anrop Tabell Hitta snabbt viktig information om en given kompilator- eller länkarkall. Fastställ dess version, arbetskatalog eller den fullständiga kommandorad som används för att anropa den.
Tidslinjer Graf Se ett stapeldiagram över hur bygget parallelliserades. Identifiera parallellitetsproblem och flaskhalsar snabbt. Konfigurera WPA för att tilldela olika betydelser till staplarna efter dina behov. Välj anropsbeskrivningar som den sista grupperade kolumnen för att visa en färgkodad stapeldiagram över alla dina anrop. Det hjälper dig att snabbt identifiera tidskrävande syndare. Zooma sedan in och välj aktivitetsnamnet som den senast grupperade kolumnen för att se de längsta delarna.

Filer

Arkivvyn används för att:

  • avgöra vilka rubriker som inkluderas oftast, och
  • hjälper dig att bestämma vad som ska ingå i en förkompilerad rubrik (PCH).

Filer visar datakolumner

Kolumnnamn Beskrivning
Aktivitetsnamn Aktiviteten som pågår när den här filhändelsen utlöstes. För närvarande är det här värdet alltid Parsning.
Beskrivning av byggtidslinje *
BuildTimelineId *
Komponent *
Räkna *
Djup Den nollbaserade positionen i inkluderingsträdet där filen hittas. Räkningen börjar vid roten i inkluderingsträdet. Värdet 0 motsvarar vanligtvis en .c/.cpp-fil.
ExklusivVaraktighet *
InkluderadAv Den fullständiga sökvägen till filen som inkluderade den aktuella filen.
InkluderadSökväg Den fullständiga sökvägen till den aktuella filen.
InkluderandeVaraktighet *
Anropsidentifierare *
Starttid En tidsstämpel som representerar den tidpunkt då den aktuella filhändelsen genererades.
Verktyg *

* Värdet för den här kolumnen är detsamma som i vyn Build Explorer .

Visa förinställningar för filer

Förinställt namn Önskat visningsläge Så här använder du
Statistik Tabell Se vilka filer som hade den högsta aggregerade parsningstiden genom att titta på listan i fallande ordning. Använd den här informationen för att strukturera om rubrikerna eller bestämma vad du vill inkludera i din PCH.

Funktionen

Vyn Funktioner används för att identifiera funktioner med en alltför lång kodgenereringstid.

Funktioner visar datakolumner

Kolumnnamn Beskrivning
Aktivitetsnamn Den pågående aktiviteten när den här funktionshändelsen genererades. För närvarande är det här värdet alltid CodeGeneration.
BuildTimelineDescription *
BuildTimelineId *
Komponent *
Räkna *
Varaktighet Varaktigheten för kodgenereringsaktiviteten för den här funktionen.
FunktionNamn Namnet på funktionen som genomgår kodgenerering.
Anropsidentifierare *
Starttid En tidsstämpel som representerar när den aktuella funktionshändelsen har genererats.
Verktyg *

* Värdet för den här kolumnen är detsamma som i vyn Build Explorer .

Förinställningar för funktionsvy

Förinställt namn Önskat visningsläge Så här använder du
Statistik Tabell Se vilka funktioner som hade den högsta aggregerade kodgenereringstiden genom att titta på listan i fallande ordning. De kan antyda var koden överanvänder nyckelordet __forceinline eller att vissa funktioner kan vara för stora.
Tidslinjer Graf Titta på det här stapeldiagrammet för att lära dig platsen och varaktigheten för de funktioner som tar mest tid att generera. Se om de stämmer överens med flaskhalsar i Build Explorer-vyn. Om de gör det vidtar du lämpliga åtgärder för att minska tiden för kodgenerering och dra nytta av dina byggtider.

Se även

Kom igång med C++ Build Insights
Referens: vcperf-kommandon
Självstudie: Grunderna i Windows Performance Analyzer
Prestandaanalys för Windows