Optimización guiada por perfiles

Optimización guiada por perfiles ( PGO ): una técnica para optimizar un programa por un compilador, destinado a aumentar el rendimiento del programa. A diferencia de los métodos de optimización tradicionales que analizan solo los códigos fuente, PGO utiliza los resultados de las mediciones de las ejecuciones de prueba del programa que se está optimizando para generar un código más óptimo. Las ejecuciones de prueba revelan qué partes del programa se ejecutan con más frecuencia y cuáles con menos frecuencia. La ventaja de este enfoque es que el compilador no hace suposiciones al elegir un método de optimización, sino que utiliza estadísticas reales recopiladas durante la ejecución del programa. Debe tenerse en cuenta que las pruebas de funcionamiento del programa deben realizarse de acuerdo con el escenario más típico para que las estadísticas sean representativas, de lo contrario, el rendimiento del programa puede incluso deteriorarse.

Métodos de optimización

Entre las optimizaciones que pueden utilizar las estadísticas recopiladas con PGO [1] :

Implementaciones

Las técnicas de optimización de PGO son implementadas, en particular, por compiladores:

Notas

  1. Optimizaciones guiadas por perfil . Consultado el 15 de febrero de 2012. Archivado desde el original el 22 de febrero de 2012.
  2. Manual del usuario del compilador de Clang: documentación de Clang 3.9 . clang.llvm.org. Consultado el 6 de mayo de 2016. Archivado desde el original el 15 de septiembre de 2011.