Profilstyrd optimering

Profilstyrd optimering ( PGO ) - en teknik för att optimera ett program av en kompilator, som syftar till att öka programmets prestanda. Till skillnad från traditionella optimeringsmetoder som endast analyserar källkoder, använder PGO resultaten av mätningar av testkörningar av programmet som optimeras för att generera mer optimal kod. Testkörningar visar vilka delar av programmet som körs oftare och vilka mer sällan. Fördelen med detta tillvägagångssätt är att kompilatorn inte gör antaganden när han väljer en optimeringsmetod, utan använder verklig statistik som samlas in under programexekveringen. Man bör ta hänsyn till att testkörningar av programmet måste utföras enligt det mest typiska scenariot för att statistiken ska vara representativ, annars kan programmets prestanda till och med försämras.

Optimeringsmetoder

Bland de optimeringar som kan använda statistik som samlats in med PGO [1] :

Implementeringar

PGO-optimeringstekniker implementeras, särskilt av kompilatorer:

Anteckningar

  1. Profilstyrda optimeringar . Hämtad 15 februari 2012. Arkiverad från originalet 22 februari 2012.
  2. Clang Compiler User's Manual - Clang 3.9 dokumentation . clang.llvm.org. Hämtad 6 maj 2016. Arkiverad från originalet 15 september 2011.