Descripción del ajuste de rendimiento

Orígenes de datos

Los datos de rendimiento se recopilan de varias fuentes.

Para hacer que la información de depuración y transformación de informes esté disponible, consulte la sección sobre Construcción con opciones de compilador necesarias.

Tarjeta de puntuación del sistema

Con frecuencia, se da el caso de que un simple cambio en el entorno de ejecución de compilación o puede acabar teniendo un gran impacto en el rendimiento de una aplicación sin realmente tener que cambiar el código fuente de la aplicación. Los hosts de construcción y tiempo de ejecución se pueden analizar y "puntuar" basándose en varios criterios, incluyendo el nivel de hardware, el nivel de sistema operativo, la versión del compilador y las opciones de construcción. Se genera un informe llamado Tarjeta de puntuación del sistema que proporciona recomendaciones para saber cómo mejorar la configuración del sistema para obtener un mejor rendimiento de la aplicación.

Datos de rendimiento basados en muestreo

Los datos de rendimiento brutos recopilados para una aplicación en ejecución provienen de las herramientas del sistema de nivel bajo basadas en el muestreo. Por ejemplo, tprof registrará continuamente ejemplos del estado del puntero de la instrucción, que contiene la dirección de memoria de la instrucción que se está ejecutando actualmente. Una vez se ha completado la ejecución de rendimiento, la información de depuración del compilador se utiliza para correlacionar las direcciones registradas con las líneas de código fuente correspondientes. La velocidad de muestra se puede configurar pero normalmente es una vez cada 10 milisegundos. Cada muestra se llama marca.

La recopilación de datos de rendimiento basada en muestreo, tiene sus inconvenientes. Puede haber varios procesos que se ejecuten en el sistema destino, además de la aplicación que se está perfilando. Es habitual que muchas de las marcas se atribuyan a procesos que compitan entre sí. Por esta razón, es recomendable realizar la ejecución en un sistema relativamente "tranquilo". Una situación ideal sería tener una máquina dedicada a la prueba de rendimiento.

Las marcas correspondientes a la aplicación que se está perfilando se muestran en el nodo "Mi aplicación", en el Navegador de puntos calientes. El resto de marcas se asignan al nodo "Otros procesos". Si un número de marcas significativo se está atribuyendo a otros procesos, considere la posibilidad de reducir la carga del sistema durante las subsiguientes ejecuciones de rendimiento si es posible.

Puesto que los datos se basan en el muestreo, el aumento del número de muestras aumenta la relevancia estadística de los datos recopilados. Se recomienda que la aplicación que se está perfilando se ejecute durante 30 segundos como mínimo y preferiblemente durante mucho más tiempo. Esto se puede hacer eligiendo un conjunto de entrada que haga que la aplicación se ejecute durante un periodo de tiempo ampliado o utilizando un script para ejecutar la aplicación en un bucle.

De forma predeterminada, no se muestran las marcas. En su lugar, el calor se representa como un porcentaje relativo a un ámbito, como por ejemplo la aplicación o todo el sistema. Para habilitar la visualización de marcas, abra primero el diálogo de preferencias en el menú principal, en Ventana > Preferencias. A continuación, navegue a la página de preferencias de Ajuste de rendimiento > Aspecto. Bajo Datos de temporización seleccione Mostrar porcentaje y marcas.

Muestreo de la pila de llamadas

Los datos de muestreo de la pila de llamadas se recopilan a partir de herramientas del sistema de nivel bajo. Estos datos provienen de procstack en AIX y de OProfile en Linux.

Aproximadamente una vez cada segundo se muestrea la aplicación de llamada de pila y se registran todas las funciones de la aplicación que se están ejecutando actualmente. Una vez completada la ejecución de rendimiento, esta información se puede analizar mediante el Navegador de invocaciones.

Informes de transformación de compilador

Los compiladores XLC tienen la capacidad de generar archivos de informe XML que describen las optimizaciones realizadas durante la compilación. Estos informes no son estrictamente necesarios, pero si generan, habrá más información disponible para el análisis. Una de las cosas más interesantes que revelan estos informes es la ubicación de las llamadas de función que se incorporan en línea durante la compilación.


Comentarios