Compartir a través de


Referencia: Vistas de windows Analizador de rendimiento

Las herramientas de C++ Build Insights están disponibles en Visual Studio 2019 y versiones posteriores. Para ver la documentación de esta versión, establezca el control de selector Versión de Visual Studio para este artículo en Visual Studio 2019 o versiones posteriores. Se encuentra en la parte superior de la tabla de contenido de esta página.

En este artículo se proporcionan detalles sobre cada una de las vistas de C++ Build Insights disponibles en Windows Performance Analyzer (WPA). Use esta página para buscar:

  • descripciones de columnas de datos y
  • valores preestablecidos disponibles para cada vista, incluido el uso previsto y el modo de visualización preferido.

Si no está familiarizado con WPA, se recomienda que primero se familiarice con los conceptos básicos de WPA para C++ Build Insights.

Explorador de compilaciones

La vista Explorador de compilaciones se usa para:

  • diagnosticar problemas de paralelismo,
  • determinar si el tiempo de compilación está dominado por el análisis, la generación de código o la vinculación, e
  • identificar los cuellos de botella y las actividades de compilación demasiado largas.

Columnas de datos de la vista Explorador de compilaciones

Nombre de la columna Descripción
BuildTimelineDescription Descripción textual de la escala de tiempo en la que se produce la actividad o propiedad actual.
BuildTimelineId Identificador de base cero para la escala de tiempo en la que se produce la actividad o propiedad actual.
Componente Componente en proceso de compilación o vinculación cuando se emitió el evento actual. El valor de esta columna es <Invocation X Info> cuando no hay ningún componente asociado a este evento. X es un identificador numérico único para la invocación que se estaba ejecutando en el momento en que se emitió el evento. Este identificador es el mismo que el de la columna InvocationId para este evento.
Count Número de actividades o propiedades representadas por esta fila de datos. Este valor es siempre 1 y solo es útil en escenarios de agregación cuando se agrupan varias filas.
ExclusiveCPUTime Cantidad de tiempo de CPU en milisegundos usada por esta actividad. El tiempo invertido en las actividades secundarias no se incluye en esta cantidad.
ExclusiveDuration Duración en milisegundos de la actividad. La duración de las actividades secundarias no se incluye en esta cantidad.
InclusiveCPUTime Cantidad de tiempo de CPU en milisegundos usada por esta actividad y todas las actividades secundarias.
InclusiveDuration Duración en milisegundos de esta actividad, incluidas todas las actividades secundarias.
InvocationDescription Descripción textual de la invocación en la que se produjo este evento. La descripción incluye si era cl.exe o link.exe y un identificador de invocación numérico único. Si es aplicable, incluye la ruta de acceso completa al componente compilado o vinculado durante la invocación. En el caso de las invocaciones que no compilan ningún componente, o de las que compilan varios componentes, la ruta de acceso está en blanco. El identificador de invocación es el mismo que el de la columna InvocationId.
InvocationId Identificador numérico único para la invocación en la que se produjo este evento.
Nombre Nombre de la actividad o propiedad representada por este evento.
Time Marca de tiempo que identifica cuándo se produjo el evento.
Herramienta Herramienta en ejecución cuando se produjo este evento. El valor de esta columna es CL o Link.
Tipo Tipo del evento actual. Este valor es una actividad o una propiedad.
Valor Si el evento actual es una propiedad, esta columna contiene su valor. Esta columna se deja en blanco cuando el evento actual es una actividad.

Valores preestablecidos de vista del Explorador de compilaciones

Nombre del valor preestablecido Modo de vista preferido Cómo se usa
Estadísticas de actividad Gráfico/tabla Use este valor preestablecido para ver las estadísticas agregadas de todas las actividades del explorador de compilaciones. En el modo de tabla, observe de un vistazo si la compilación está dominada por el análisis, la generación de código o el enlazador. Las duraciones agregadas para cada actividad se ordenan de forma descendente. Profundice expandiendo el nodo superior para encontrar fácilmente las invocaciones que tardan más tiempo en estas actividades principales. Si lo desea, puede ajustar la configuración de WPA para mostrar los promedios u otros tipos de agregaciones. En el modo de gráfico, vea cuándo está activa cada actividad durante la compilación.
Invocaciones Grafo Desplácese hacia abajo a través de una lista de invocaciones en la vista de gráfico ordenada por hora de inicio. Puede usarla junto con la vista de CPU (muestreada) para buscar las invocaciones que se alinean con zonas de uso de CPU bajas. Detecte problemas de paralelismo.
Propiedades de invocación Tabla Busque rápidamente información clave sobre la invocación de un compilador o enlazador determinado. Determine la versión, el directorio de trabajo o la línea de comandos completa que se usa para invocarlo.
Escalas de tiempo Grafo Vea un gráfico de barras acerca de cómo se paralelizó la compilación. Identifique problemas de paralelismo y cuellos de botella de un vistazo. Configure WPA para asignar significados diferentes a las barras según sus necesidades. Elija descripciones de invocación como la última columna agrupada para ver un gráfico de barras codificadas en color de todas las invocaciones. Le ayuda a identificar rápidamente los elementos que consumen más tiempo. A continuación, amplíe y elija el nombre de la actividad como la última columna agrupada para ver las partes más largas.

Archivos

La vista archivos se utiliza para:

  • determinar qué encabezados se incluyen con más frecuencia, y
  • ayudarle a decidir qué incluir en un encabezado precompilado (PCH).

Columnas de datos de la vista de archivos

Nombre de la columna Descripción
ActivityName La actividad en curso cuando se emitió este evento de archivo. Actualmente, este valor siempre es Parsing.
BuildTimelineDescription *
BuildTimelineId *
Componente *
Count *
Depth Posición de base cero del árbol de inclusión en el que se encuentra este archivo. El recuento empieza en la raíz del árbol de inclusión. Un valor de 0 normalmente corresponde a un archivo .c/.cpp.
ExclusiveDuration *
IncludedBy Ruta de acceso completa del archivo que incluía el archivo actual.
IncludedPath Ruta de acceso completa del archivo actual.
InclusiveDuration *
InvocationId *
StartTime Marca de tiempo que representa la hora a la que se emitió el evento de archivo actual.
Herramienta *

* El valor de esta columna es el mismo que en la vista Explorador de compilaciones .

Valores preestablecidos de la vista de archivos

Nombre del valor preestablecido Modo de vista preferido Cómo se usa
Estadísticas Tabla Vea qué archivos tenían el mayor tiempo de análisis agregado observando la lista en orden descendente. Utilice esta información como ayuda para reestructurar los encabezados o para decidir qué incluir en el PCH.

Funciones

La vista Funciones se usa para identificar las funciones con un tiempo de generación de código excesivamente largo.

Columnas de datos de la vista Funciones

Nombre de la columna Descripción
ActivityName La actividad en curso cuando se emitió este evento de función. Actualmente, este valor siempre es CodeGeneration.
BuildTimelineDescription *
BuildTimelineId *
Componente *
Count *
Duration La duración de la actividad de generación de código para esta función.
FunctionName Nombre de la función que se está sometiendo a la generación de código.
InvocationId *
StartTime Marca de tiempo que representa cuándo se emitió el evento de función actual.
Herramienta *

* El valor de esta columna es el mismo que en la vista Explorador de compilaciones .

Valores preestablecidos de la vista Funciones

Nombre del valor preestablecido Modo de vista preferido Cómo se usa
Estadísticas Tabla Vea qué funciones tenían el mayor tiempo de generación de código agregado observando la lista en orden descendente. Pueden sugerir en qué puntos su código usa en exceso la palabra clave __forceinline, o que algunas funciones pueden ser demasiado grandes.
Escalas de tiempo Grafo Eche un vistazo a este gráfico de barras para conocer la ubicación y la duración de las funciones que tardan más tiempo en generarse. Vea si se alinean con los cuellos de botella en la vista Explorador de compilaciones. Si lo hacen, tome las medidas adecuadas para reducir su tiempo de generación de código y mejorar los tiempos de compilación.

Consulte también

Introducción a C++ Build Insights
Referencia: comandos de vcperf
Tutorial: Conceptos básicos de Windows Analizador de rendimiento
Windows Performance Analyzer