Tipy pro zvýšení výkonu rozhraní .NET

Termín výkon obecně označuje rychlost provádění programu. Někdy můžete zvýšit rychlost provádění pomocí určitých základních pravidel ve zdrojovém kódu. V některých programech je důležité pečlivě prozkoumat kód a použít profilátory, abyste se ujistili, že běží co nejrychleji. V jiných programech není nutné provádět takovou optimalizaci, protože kód běží přijatelně rychle, jak je napsaný. Tento článek uvádí některé běžné oblasti, kde může utrpět výkon, tipy pro jeho vylepšení a také odkazy na další témata týkající se výkonu. Další informace o plánování a měření výkonu najdete v tématu Výkon.

Zabalení a rozbalení

Je nejlepší se vyhnout použití hodnotových typů v situacích, kdy musí být v rámečku s vysokým počtemkrát, například v třídách kolekcí, které nejsou obecné, například System.Collections.ArrayList . Použitím obecných kolekcí, jako je , se můžete vyhnout balení hodnotových System.Collections.Generic.List<T> typů. Boxing a rozbalení jsou výpočetně náročné procesy. Když je typ hodnoty boxed, musí být vytvořen zcela nový objekt. To může trvat až 20krát déle než jednoduché přiřazení odkazu. Při rozbalení může proces přetypování trvat čtyřikrát, dokud je přiřazení. Další informace najdete v tématu Boxing a rozbalení.

Řetězce

Při zřetězení velkého počtu proměnných řetězců, například v úzké smyčce, použijte místo operátoru C# + nebo operátory System.Text.StringBuilder Visual Basic zřetězení. Další informace najdete v tématu Postup zřetězení více řetězců a Operátory zřetězení v Visual Basic.

Finalizační metody

Neměly by se používat prázdné finalizační metody. Pokud třída obsahuje finalizační metodu, vytvoří se položka ve frontě Finalize. Při volání finalizační metody se vyvolá systém uvolňování paměti, který zpracuje frontu. Pokud je finalizační metoda prázdná, jednoduše dojde ke ztrátě výkonu. Další informace najdete v tématu Finalizační metody a Doba života objektu: Vytvářenía zničení objektů.

Další prostředky

Viz také