Optimalizace kódu
Optimalizací spustitelného souboru můžete dosáhnout rovnováhy mezi rychlostmi rychlého spuštění a malou velikostí kódu. toto téma popisuje některé mechanismy, které Visual Studio poskytuje, které vám pomůžou s optimalizací kódu.
Jazykové funkce
Následující témata popisují některé funkce optimalizace v jazyce C/C++.
Direktivy pragma a klíčová slova optimalizace
Seznam klíčových slov a direktiv pragma, které lze použít ve svém kódu ke zvýšení výkonu.
Možnosti kompilátoru uvedené podle kategorie
Seznam možností kompilátoru /o , které specificky ovlivňují rychlost spuštění nebo velikost kódu.
Deklarátor odkazu rvalue:
Odkazy rvalue podporují implementaci sémantiky přesunutí. Pokud se k implementaci knihoven šablon používá sémantika přesunutí, výkon aplikací, které používají tyto šablony, může významně zlepšit.
Direktiva optimize pragma
Pokud optimalizovaná část kódu způsobí chyby nebo zpomalení, můžete použít optimalizaci pragma pro vypnutí optimalizace pro tuto část.
Kód vložte mezi dvě direktivy pragma, jak je znázorněno zde:
#pragma optimize("", off)
// some code here
#pragma optimize("", on)
Postupy programování
Pokud kompilujete kód s optimalizací, můžete si všimnout dalších varovných zpráv. Toto chování je očekáváno, protože některá upozornění se týkají pouze optimalizovaného kódu. Pokud heed tato upozornění, můžete se vyhnout mnoha problémům s optimalizací.
Paradoxically, optimalizace programu pro rychlost by mohla způsobit pomalejší běh kódu. Důvodem je to, že některé optimalizace pro zvýšení velikosti kódu zvyšují rychlost. Například funkce pro vkládání eliminují režii volání funkcí. Vložením příliš velkého množství kódu však může dojít k tomu, že váš program bude velký, že se zvyšuje počet chyb stránky virtuální paměti. Proto může být rychlost získaná z odstranění volání funkcí ztracena do vyměněné paměti.
V následujících tématech se zabýváte dobrými postupy programování.
Tipy pro zlepšení kódu Time-Critical
Lepšími způsoby kódování může být lepší výkon. Toto téma navrhuje techniky kódování, které vám pomohou zajistit, že části kódu kritické pro čas fungují uspokojivě.
Osvědčené postupy optimalizace
Poskytuje obecné pokyny, jak nejlépe optimalizovat aplikaci.
Ladění optimalizovaného kódu
Vzhledem k tomu, že optimalizace může změnit kód vytvořený kompilátorem, doporučujeme ladit aplikaci a změřit její výkon a pak optimalizovat kód.
Následující témata obsahují informace o tom, jak ladit sestavení pro vydání.
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 optimalizace
Vylepšení propustnosti kompilátoru
Proč Floating-Point čísla můžou přijít o přesnost
Znázornění IEEE Floating-Point
Tipy pro zlepšení kódu Time-Critical
Použití názvu funkce bez () negeneruje žádný kód.
Osvědčené postupy optimalizace
Optimalizace na základě profilu
Proměnné prostředí pro optimalizace Profile-Guided
PgoAutoSweep
pgomgr
pgosweep
Postupy: sloučení více profilů PGO do jednoho profilu