Profilvezérelt optimalizálás

Profilvezérelt optimalizálás ( PGO ) – a program fordító általi optimalizálására szolgáló technika, melynek célja a program teljesítményének növelése. A hagyományos optimalizálási módszerekkel ellentétben, amelyek csak a forráskódokat elemzik, a PGO az optimalizált program tesztfutásainak mérési eredményeit használja fel az optimálisabb kód generálására. A tesztfutások során kiderül, hogy a program mely részei futnak le gyakrabban és melyek ritkábban. Ennek a megközelítésnek az az előnye, hogy a fordító nem feltételez feltételezéseket az optimalizálási módszer kiválasztásakor, hanem a program végrehajtása során gyűjtött valós statisztikákat használja fel. Figyelembe kell venni, hogy a program tesztfutásait a legjellemzőbb forgatókönyv szerint kell végrehajtani ahhoz, hogy a statisztika reprezentatív legyen, ellenkező esetben a program teljesítménye akár romolhat is.

Optimalizálási módszerek

Azok az optimalizálások, amelyek a PGO-val gyűjtött statisztikákat használhatják [1] :

Megvalósítások

A PGO optimalizálási technikákat különösen a fordítók valósítják meg:

Jegyzetek

  1. Profilvezérelt optimalizálás . Letöltve: 2012. február 15. Az eredetiből archiválva : 2012. február 22..
  2. Clang Compiler felhasználói kézikönyv - Clang 3.9 dokumentáció . clang.llvm.org. Letöltve: 2016. május 6. Az eredetiből archiválva : 2011. szeptember 15.