Delen via


Tips voor .NET-prestaties

De term prestaties verwijst over het algemeen naar de uitvoeringssnelheid van een programma. U kunt soms de uitvoeringssnelheid verhogen door bepaalde basisregels in uw broncode te volgen. In sommige programma's is het belangrijk om code nauwkeurig te onderzoeken en profilers te gebruiken om ervoor te zorgen dat deze zo snel mogelijk wordt uitgevoerd. In andere programma's hoeft u deze optimalisatie niet uit te voeren omdat de code acceptabel snel wordt uitgevoerd terwijl deze wordt geschreven. In dit artikel vindt u een aantal algemene gebieden waar de prestaties kunnen lijden en tips voor het verbeteren ervan, evenals koppelingen naar aanvullende prestatieonderwerpen. Zie Prestaties voor meer informatie over het plannen en meten van prestaties

Boxing en Unboxing

U kunt het beste voorkomen dat u waardetypen gebruikt in situaties waarin ze een groot aantal keren moeten worden geplaatst, bijvoorbeeld in niet-algemene verzamelingsklassen zoals System.Collections.ArrayList. U kunt het boksen van waardetypen voorkomen door gebruik te maken van generieke verzamelingen, zoals bijvoorbeeld System.Collections.Generic.List<T>. Boxing en unboxing zijn computationeel dure processen. Wanneer een waardetype in een vak wordt geplaatst, moet er een geheel nieuw object worden gemaakt. Dit kan tot 20 keer langer duren dan een eenvoudige verwijzingstoewijzing. Bij het uitpakken kan het castingproces vier keer zo lang duren als een opdracht. Zie Boxing and Unboxing (Boksen en Uitpakken) voor meer informatie.

Tekenreeksen

Wanneer u een groot aantal tekenreeksvariabelen samenvoegt, bijvoorbeeld in een strikte lus, moet u System.Text.StringBuilder gebruiken in plaats van de C# + operator of de Visual Basic concatenatie-operatoren. Zie Hoe meerdere tekenreeksen samen te voegen en samenvoegingsoperators in Visual Basic voor meer informatie.

Finaliseerders

Lege finalizers mogen niet worden gebruikt. Wanneer een klasse een finalizer bevat, wordt er een vermelding gemaakt in de Finaliseerwachtrij. Wanneer de finalizer wordt aangeroepen, wordt de vuilopruimer aangeroepen om de wachtrij te verwerken. Als de finalizer leeg is, leidt dit tot prestatieverlies. Zie Finalizers en objectlevensduur voor meer informatie: Hoe objecten worden gemaakt en vernietigd.

Andere hulpbronnen

Zie ook