Optimalizace kódu

Optimalizací spustitelného souboru můžete dosáhnout rovnováhy mezi rychlostí rychlého spuštění a malou velikostí kódu. Toto téma popisuje některé mechanismy, které Sada Visual Studio poskytuje, aby vám pomohla optimalizovat kód.

Jazykové funkce

Následující témata popisují některé z funkcí optimalizace v jazyce C/C++.

Direktivy pragma a klíčová slova pro optimalizaci
Seznam klíčových slov a direktiv, které můžete použít v kódu ke zlepšení výkonu.

Možnosti kompilátoru uvedené podle kategorie
Seznam možností kompilátoru /O , které mají konkrétně vliv na rychlost spouštění nebo velikost kódu.

Deklarátor odkazu r-hodnoty: &&
Odkazy na Rvalue podporují implementaci sémantiky přesunutí. Pokud se k implementaci knihoven šablon používají sémantika přesunutí, může se výrazně zlepšit výkon aplikací, které tyto šablony používají.

Direktiva pragma optimalizace

Pokud optimalizovaná část kódu způsobí chyby nebo zpomalení, můžete optimalizaci této části vypnout pomocí direktivy pragma optimalizace .

Uzavřete kód mezi dvě direktivy pragmas, jak je znázorněno zde:

#pragma optimize("", off)
// some code here
#pragma optimize("", on)

Programovací postupy

Při kompilaci kódu s optimalizací si můžete všimnout dalších upozornění. Toto chování se očekává, protože některá upozornění se týkají pouze optimalizovaného kódu. Můžete se vyhnout mnoha problémům s optimalizací, pokud jste tato upozornění chytli.

Optimalizace programu pro rychlost může paradoxně způsobit pomalejší spuštění kódu. Důvodem je to, že některé optimalizace pro zrychlení zvyšují velikost kódu. Například vkládání funkcí eliminuje režii volání funkcí. Vložení příliš velkého kódu ale může vyžadovat, aby byl váš program tak velký, že se zvyšuje počet chyb na stránce virtuální paměti. Rychlost získaná z odstranění volání funkcí proto může být ztracena na prohození paměti.

Následující témata diskutují o osvědčených programovacích postupech.

Tipy pro zlepšení časově kritického kódu
Lepší techniky kódování můžou přinést lepší výkon. Toto téma navrhuje techniky psaní kódu, které vám můžou pomoct zajistit, aby kritické části kódu fungovaly uspokojivě.

Doporučené postupy optimalizace
Poskytuje obecné pokyny k optimalizaci aplikace.

Ladění optimalizovaného kódu

Protože optimalizace může změnit kód vytvořený kompilátorem, doporučujeme ladit aplikaci a měřit její výkon a pak optimalizovat kód.

Následující témata obsahují informace o ladění buildů vydaných verzí.

Následující témata obsahují informace o tom, jak optimalizovat sestavování, načítání a spouštění kódu.

V této části

Direktivy pragma a klíčová slova pro optimalizaci
Zvýšení propustnosti kompilátoru
Proč čísla s plovoucí desetinnou čárkou můžou ztratit přesnost
Reprezentace plovoucí desetinné čárky IEEE
Tipy pro zlepšení časově kritického kódu
Použití názvu funkce bez závorek nevygeneruje žádný kód
Doporučené postupy optimalizace
Optimalizace na základě profilu
Proměnné prostředí pro optimalizace na základě profilu
PgoAutoSweep
pgomgr
pgosweep
Postupy: Sloučení několika profilů PGO do jediného profilu

Viz také

Referenční zdroje k sestavení programu v jazyce C/C++