Sdílet prostřednictvím


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

Termín výkon obecně označuje rychlost provádění programu. Rychlost provádění můžete někdy zvýšit 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žívat profilátory, abyste měli jistotu, že běží co nejrychleji. V jiných programech nemusíte takovou optimalizaci provádět, protože kód běží přijatelně rychle, jak je napsaný. Tento článek uvádí některé běžné oblasti, ve kterých může výkon trpět, a tipy pro 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 naleznete v tématu Výkon

Zabalení a rozbalení

Nejlepší je vyhnout se použití hodnotových typů v situacích, kdy je nutné je kolikrát zabalit, například v jiných než obecných třídách kolekcí, jako System.Collections.ArrayListje . Krabicové typy hodnot se můžete vyhnout použitím obecných kolekcí, jako System.Collections.Generic.List<T>je . Boxing a unboxing jsou výpočetně nákladné procesy. Pokud je typ hodnoty v rámečku, 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 rozbalování může proces přetypování trvat čtyřikrát, dokud přiřazení. Další informace naleznete v tématu Boxing and Unboxing.

Řetězce

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

Finalizační metody

Prázdné finalizační metody by neměly být použity. Pokud třída obsahuje finalizátor, položka je vytvořena ve frontě Finalize. Při zavolání finalizátoru se vyvolá uvolňování paměti pro zpracování fronty. Pokud je finalizátor prázdný, jednoduše dojde ke ztrátě výkonu. Další informace naleznete v tématu Finalizers and Object Lifetime: How Objects Are Created and Destroyed.

Další prostředky

Viz také