/Og (globální optimalizace)

 

Publikováno: červenec 2016

Nejnovější dokumentaci k sadě Visual Studio 2017 najdete tady.

Zastaralé. Poskytuje místní a globální optimalizace registraci automatické přidělení a smyčky optimalizace.

/Og je zastaralý. Tyto optimalizace jsou nyní obecně ve výchozím nastavení povolena. Další informace o optimalizaci naleznete v tématu /O1, /O2 (minimální velikost, maximální rychlost) nebo /Ox (úplná optimalizace).

Následující optimalizace jsou k dispozici v rámci /Og:

  • Místní a globální eliminace společných dílčích výrazů

    Hodnota běžné podvýrazu tato optimalizace je vypočítána jednou. V následujícím příkladu Pokud hodnoty b a c neměňte mezi tři výrazy, kompilátor přiřadit výpočtu b + c k dočasné proměnné a nahraďte proměnnou pro b + c:

    a = b + c;  
    d = b + c;  
    e = b + c;  
    
    

    Pro místní běžné podvýraz optimalizace kompilátoru prověří kratší části kódu pro běžné dílčích výrazů. Pro globální běžné optimalizace podvýraz kompilátor vyhledá celý funkce pro běžné dílčích výrazů.

  • Automatické přidělení registru

    Tato optimalizace umožňuje kompilátoru uložení často používaných proměnných a podvýrazů v registrech; register klíčové slovo je ignorován.

  • Optimalizace smyčky

    Tato optimalizace invariantní dílčích výrazů odebere z tělo smyčky. Optimální smyčka obsahuje pouze výrazy, jejichž hodnoty změnit prostřednictvím každé spuštění smyčky. V následujícím příkladu výraz x + y nedojde ke změně v těle smyčky:

    i = -100;  
    while( i < 0 ) {  
        i += x + y;  
    }  
    
    

    Po použití funkce optimalizace x + y se vypočítává jednou namísto pokaždé, když je provedena smyčka:

    i = -100;  
    t = x + y;  
    while( i < 0 ) {  
        i += t;  
    }  
    
    

    Optimalizace smyčky je mnohem efektivnější, když kompilátor může převzít žádné aliasy, které nastavíte s __restrict, noalias, nebo omezit.

    System_CAPS_ICON_note.jpg Poznámka

    Můžete povolit nebo zakázat globální optimalizace na základě funkce funkce pomocí optimize pragma g možnost.

/Og také umožňuje optimalizace s názvem vrátit hodnotu, což eliminuje kopie konstruktoru a destruktoru zásobníku na základě návratovou hodnotu. Viz /O1, /O2 (minimální velikost, maximální rychlost) Další informace.

Související informace naleznete v tématu Generovat vnitřní funkce (/Oi) a Úplná optimalizace (/ Ox).

Nastavení této možnosti kompilátoru ve vývojovém prostředí sady Visual Studio

  1. Otevření projektu stránky vlastností dialogové okno. Podrobnosti najdete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Klikněte na tlačítko C/C++ složky.

  3. Klikněte na tlačítko příkazového řádku stránku vlastností.

  4. Možnosti kompilátoru v typu Další možnosti pole.

Programové nastavení tohoto parametru kompilátoru

/O možnosti (optimalizace kódu)
Možnosti kompilátoru
Nastavení možností kompilátoru

Zobrazit: