Guía básica para la generación de perfiles de rendimiento

En este tema se describe un método básico para utilizar las Herramientas de generación de perfiles de Visual Studio Premium y de Visual Studio Ultimate para analizar los problemas de rendimiento de su aplicación.Aunque las Herramientas de generación de perfiles ofrecen muchas opciones para recopilar datos de rendimiento personalizados en muchos tipos de aplicaciones, este tema se centra en cómo utilizar el Asistente para generación de perfiles para recopilar datos de muestreo de una solución de Visual Studio.

[!NOTA]

Si el muestreo no le proporciona los datos que necesita, otros métodos de recopilación de las Herramientas de generación de perfiles proporcionan tipos de información diferentes que podrían serle de utilidad.Para obtener más información sobre estos otros métodos, vea Cómo: Elegir métodos de recolección.

En este tema

Conceptos básicos

Requisitos previos

Paso 1: Crear y ejecutar una sesión de rendimiento

Paso 2: Analizar los datos de muestreo

Paso 3: Revisar el código y volver a ejecutar el generador de perfiles

Conceptos básicos

Sesión de rendimiento Al utilizar el Generador de perfiles de rendimiento, se crea una Sesión de rendimiento que contiene los datos de configuración para recopilar información de rendimiento y los resultados de una o más generaciones de perfiles.Después de crear una sesión de rendimiento, ésta aparece en la ventana Explorador de rendimiento.

Explorador de rendimiento y sus elementos

  1. Nombre de la sesión de generación de perfiles.

  2. La carpeta Targets muestra los proyectos o binarios cuyos perfiles se han generado en la sesión.

  3. La carpeta Reports contiene los archivos de datos de generación de perfiles de una o más recopilaciones.Puede hacer clic en un nombre de archivo y seleccionar vistas de la información de rendimiento, como llamadas a funciones, asignaciones de memoria y detalles de funciones concretas.Cada una de las vistas aparece en la ventana principal de Visual Studio.

Método de muestreo   El muestreo es un método de generación de perfiles estadístico que le muestra las funciones que están haciendo la mayor parte del trabajo de modo usuario en la aplicación.El muestreo es una buena ubicación para empezar a buscar áreas para acelerar su aplicación.

A intervalos especificados, el método de muestreo recopila información sobre las funciones que se están ejecutando en su aplicación.Después de finalizar una generación de perfiles, la vista Resumen de los datos de generación de perfiles aparece en la ventana principal de Visual Studio.La vista Resumen muestra el árbol de llamadas a funciones más activo, denominado ruta de acceso activa, donde se realizó la mayor parte del trabajo de la aplicación. La vista también muestra qué funciones estaban realizando más trabajo individual y proporciona un gráfico de escala de tiempo que puede utilizar para centrarse en segmentos concretos de la sesión de muestreo.

Requisitos previos

Éstas son algunas de las cosas que puede hacer antes de empezar a generar perfiles a fin de asegurarse de no encontrar problemas innecesarios.

Ejecutar como administrador Si no es un administrador en el equipo que está utilizando, deberá ejecutar Visual Studio como administrador para asegurarse de que tiene los permisos necesarios para algunas de las características de las herramientas de generación de perfiles.Para ello, haga clic en el botón Iniciar, busque el icono de aplicación de Visual Studio, haga clic con el botón secundario en él y, a continuación, haga clic en Ejecutar como administrador.

Establecer la configuración de compilación activa en Liberar Las compilaciones de depuración insertan código de diagnóstico adicional en su aplicación y no incluyen optimizaciones que el compilador realiza en las compilaciones de versión.Al generar perfiles de la compilación de versión de su aplicación, se proporcionan datos más precisos sobre el rendimiento de la misma.Para cambiar la configuración activa, en el menú Compilación, haga clic en Administrador de configuración y, en el cuadro de diálogo, en Configuración de soluciones activas, seleccione Liberar.

Obtener los archivos de símbolos de Windows Si genera perfiles de código que llama a funciones de Windows, deberá asegurarse de contar con los archivos .pdb más recientes.Sin estos archivos, sus vistas de informe harán listas de nombres de funciones de Windows que serán crípticas y difíciles de entender.Para obtener más información sobre cómo asegurarse de contar con los archivos que necesita, vea Cómo: Hacer referencia a información de símbolos de Windows.

Paso 1: Crear y ejecutar una sesión de rendimiento

Para obtener los datos que necesita analizar, primero debe crear una sesión de rendimiento y, a continuación, ejecutarla.El Asistente de rendimiento le permite hacer ambas cosas.

Para crear y ejecutar una sesión de rendimiento

  1. Abra la solución en Visual Studio.

  2. En el menú Analizar, haga clic en Iniciar Asistente de rendimiento.

  3. Acepte la configuración predeterminada de Muestreo de la CPU (recomendado) y haga clic en Siguiente.

  4. Acepte el proyecto predeterminado y haga clic en Siguiente.

  5. Asegúrese de que la casilla Iniciar generación de perfiles cuando finalice el asistente está activada y, a continuación, haga clic en Finalizar.

    Su aplicación se inicia y el generador de perfiles empieza a recopilar datos.

  6. Ejecute la funcionalidad que podría tener problemas de rendimiento.

  7. Cierre la aplicación de la manera habitual.

    Después de terminar de ejecutar la aplicación, la vista Resumen de los datos de generación de perfiles aparece en la ventana principal de Visual Studio y un icono de la nueva sesión aparece en la ventana Explorador de rendimiento .

Paso 2: Analizar los datos de muestreo

Al terminar de ejecutar una sesión de rendimiento, la vista Resumen del informe de generación de perfiles aparece en la ventana principal de Visual Studio.

Se recomienda empezar a analizar los datos por la Ruta de acceso activa , a continuación la lista de funciones que están haciendo la mayor parte del trabajo y, por último, centrarse en otras funciones mediante la Escala de tiempo de resumen.También puede ver sugerencias y advertencias de la generación de perfiles en la ventana Lista de errores.

Tenga en cuenta que es posible que el método de muestreo no le proporcione la información que necesita.Por ejemplo, se recopilan ejemplos únicamente cuando la aplicación está ejecutando código de modo usuario.Por consiguiente, alguna funcionalidad, como las operaciones de entrada y salida, no se captura mediante el muestreo.Las Herramientas de generación de perfiles proporcionan varios métodos de recopilación que pueden permitirle centrarse en los datos importantes.Para obtener más información sobre los otros métodos, vea Cómo: Elegir métodos de recolección.

Cada área numerada de la ilustración está relacionada con un paso del procedimiento.

Vista de informe de resumen de muestreo

Para analizar datos de muestreo

  1. En la vista Resumen, la Ruta de acceso activa muestra la bifurcación del árbol de llamadas de su aplicación con más muestras inclusivas.Ésta es la ruta de acceso de ejecución que estuvo más activa durante la recopilación de datos.Unos altos valores de inclusión pueden indicar que se puede optimizar el algoritmo que genera el árbol de llamadas.Busque la función más baja de su código en la ruta de acceso.Tenga en cuenta que la ruta de acceso también puede incluir funciones del sistema o funciones de módulos externos.

    Ruta de acceso activa del generador de perfiles

    1. Las muestras inclusivas indican cuánto trabajo ha realizado la función y cualquier función llamada por ella.Unos recuentos inclusivos altos apuntan a las funciones que consumen más recursos en general.

    2. Las muestras exclusivas indican cuánto trabajo fue realizado por el código del cuerpo de la función, excepto el trabajo realizado por funciones a las que él llamó.Unos recuentos exclusivos altos pueden indicar un cuello de botella de rendimiento dentro de la propia función.

  2. Haga clic en el nombre de la función para mostrar la vista Detalles de la función de los datos de generación de perfiles.La vista Detalles de la función presenta una vista gráfica de los datos de generación de perfiles de la función seleccionada, mostrando todas las funciones que llamaron a esa función y todas las funciones a las que llamó la función seleccionada.

    • El tamaño de los bloques de las funciones que llaman y llamadas representa la frecuencia relativa con la que las funciones llamaron o fueron llamadas.

    • Puede hacer clic en el nombre de una función que llama o llamada para convertirla en la función seleccionada en la vista Detalles de la función.

    • El panel inferior de las ventanas Detalles de la función muestra el propio código de la función.Si examina el código y encuentra una oportunidad de optimizar su rendimiento, haga clic en el nombre del archivo de origen para abrirlo en el editor de Visual Studio.

  3. Para continuar con el análisis, vuelva a la vista Resumen seleccionando Resumen en la lista desplegable de vistas.A continuación, examine las funciones de Funciones con la mayor parte del trabajo individual.Esta lista muestra las funciones con las muestras exclusivas más altas.El código del cuerpo de la función de estas funciones realizó un trabajo considerable y se podría optimizar.Para analizar una función determinada más detalladamente, haga clic en su nombre para mostrarla en la vista Detalles de la función.

    Lista de las funciones que realizan la mayor parte del trabajo

    Para continuar con la investigación de la generación de perfiles, puede volver a analizar un segmento de los datos de generación de perfiles mediante la escala de tiempo en la vista Resumen a fin de ver la Ruta de acceso activa y las Funciones con la mayor parte del trabajo individual de un segmento seleccionado.Por ejemplo, centrarse en un pico menor de la escala de tiempo podría revelar árboles de llamadas y funciones que consumen muchos recursos y que no se mostraron en el análisis de la generación de perfiles completa.

    Para volver a analizar un segmento, selecciónelo en la escala de tiempo de resumen y, a continuación, haga clic en Filtrar por selección.

    Escala de tiempo de la vista de resumen de rendimiento

  4. El generador de perfiles también utiliza un conjunto de reglas para indicar maneras de mejorar la ejecución de generación de perfiles e identificar los posibles problemas de rendimiento.Si se presenta algún problema, se mostrará una advertencia en la ventana Lista de errores.En el menú Ver, haga clic en Lista de errores para que aparezca la ventana Lista de errores.

    • Para ver la función que produjo la advertencia, en la vista Detalles de la función, haga doble clic en la advertencia.

    • Para ver información detallada sobre la advertencia, haga clic con el botón secundario en el error y, a continuación, haga clic en Ayuda para mostrar mensaje

Paso 3: Revisar el código y volver a ejecutar una sesión

Después de encontrar y optimizar una o más funciones, puede repetir la generación de perfiles y comparar los datos para ver la diferencia que sus cambios han supuesto para el rendimiento de su aplicación.

Para revisar el código y volver a ejecutar el generador de perfiles

  1. Cambie su código.

  2. Para abrir el Explorador de rendimiento, en el menú Vista, haga clic en Otras ventanas y, a continuación, en Explorador de rendimiento.

  3. En el Explorador de rendimiento, haga clic con el botón secundario en la sesión que desea volver a ejecutar y, a continuación, haga clic en Iniciar con generación de perfiles.

  4. Después de volver a ejecutar la sesión, se agrega otro archivo de datos a la carpeta Informes de la sesión en el Explorador de rendimiento.Seleccione los datos de generación de perfiles originales y los nuevos, haga clic con el botón secundario en la selección y, a continuación, haga clic en Comparar informes de rendimiento.

    Se abre una nueva ventana de informe que muestra los resultados de la comparación.Para obtener más información sobre cómo utilizar la vista de comparación, vea Cómo: Comparar archivos de datos del generador de perfiles.

Vea también

Conceptos

Analizar el rendimiento de la aplicación mediante las herramientas de generación de perfiles

Introducción a las herramientas de generación de perfiles

Otros recursos

Información general (Herramientas de generación de perfiles)