Výstrahy výkonu
Výstrahy výkonu podporu vysoce výkonných knihoven a aplikací.
V tomto oddíle
Pravidlo |
Description |
---|---|
Duplicitní nádech snížení výkonu, zvláště, když v příkazech kompaktní iterace jsou prováděny nádech. |
|
Podpis metody obsahuje parametr, který není použit v těle metody. |
|
Pole je deklarována statické a jen pro čtení (sdílené a ReadOnly v Visual Basic) a je inicializována s hodnotou, která je computable v době kompilace.Hodnota, která je přiřazena cílová pole je computable v době kompilace, změnit const prohlášení (Const v Visual Basic) pole tak, aby hodnota je vypočítávána v době kompilace namísto v době spuštění. |
|
Místní proměnné a zbytečné přiřazení zvětšit velikost sestavení a snížení výkonu. |
|
Nový objekt je vytvořen, ale nikdy použity, je volána metoda, která vytvoří a vrátí nový řetězec a nikdy použit nový řetězec nebo objekt modelu COM (Component) nebo P/vyvolat metodu vrátí kód HRESULT nebo chyba, která nikdy použita. |
|
Společné optimalizace výkonu je uložit hodnotu do registru procesoru místo paměti, která je označována jako "enregistering hodnotu".Chcete-li zvýšit pravděpodobnost, že jsou všechny místní proměnné nejsou, omezte počet místní proměnné 64. |
|
Při typ deklaruje explicitní statický konstruktor, kompilátor just-in-time (JIT) přidá kontrolu každé statické metody a instance konstruktor typu zda, dříve nazývaný statický konstruktor.Statický konstruktor kontroly může snížit výkon. |
|
Soukromé nebo interní (sestavení úroveň) člen nemá volající sestavení, není vyvolána společného jazykového modulu runtime a není vyvolána delegáta. |
|
Kód v sestavení není vytvořena instance typu sestavení úroveň. |
|
.NET Framework Knihovna tříd poskytuje metody pro načítání vlastních atributů.Ve výchozím nastavení tyto metody hledání hierarchii dědičnosti atribut.Uzavírání atribut eliminuje hledání prostřednictvím hierarchii dědičnosti a zlepšit výkon. |
|
Vícenásobné pole je pole, jehož prvky jsou matice.Pole, které tvoří prvky mohou být různých velikostí, které může mít za následek méně nevyužité místo pro některé sady dat. |
|
Pro typy hodnoty zděděných provádění rovná se používá knihovnu odraz a porovnává obsah všech polí.Odraz je výpočetně náročné a porovnání všech polí pro rovnost může být zbytečné.Pokud očekáváte uživatelům porovnat nebo seřadit instancí nebo použít instance jako klíče tabulky hash, by mělo provádět typu hodnota rovná se. |
|
Metoda, která je implementací Dispose nevyvolá GC.Funkce SuppressFinalize nebo metodu, která není implementace volání Dispose GC.Funkce SuppressFinalize nebo metodu volá GC.Funkce SuppressFinalize a předá něco jiného než to (mne Visual Basic). |
|
Matice, které jsou vráceny vlastnosti nejsou chráněna proti zápisu, i když je vlastnost pouze pro čtení.Chcete-li zachovat osvědčenou pole vlastnost musí vrátit kopii pole.Uživatelé obvykle není rozumět výkonu nepříznivé důsledky volání těchto vlastností. |
|
Pomocí vlastnosti String.Length nebo String.IsNullOrEmpty metoda je výrazně rychlejší než použití se rovná porovnávání řetězců. |
|
Kdykoli je to možné, vyhněte se finalizačních metod z důvodu další režii související se sledování životnost objektu.Poněkud prázdný finalizačních metod přidán režie bez žádné výhody. |
|
Členy, kteří nemají přístup k instanci dat nebo volání metody instance může být označen jako statické (sdílené v Visual Basic).Po označení jako statické metody bude Kompilátor generuje nonvirtual volání serverů do těchto členů.To vám může poskytnout měřitelné výkonu zisku pro výkon citlivé kód. |
|
Pole Private byly zjištěny, nezobrazí přístupná v sestavení. |
|
Atribut NeutralResourcesLanguage informuje ResourceManager jazyka, který byl použit k zobrazení prostředků neutrální kultury pro sestavení.To zlepšuje výkon vyhledávání pro první zdroj můžete načíst a může snížit pracovní sady. |