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

Boksen en Postvak UIT

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 boksen van waardetypen voorkomen met behulp van algemene verzamelingen zoals System.Collections.Generic.List<T>. Boksen en uitpakken zijn rekenkundige 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 castproces vier keer duren zolang een opdracht is uitgevoerd. Zie Boxing and Unboxing (Boksen en Uitpakken) voor meer informatie.

Tekenreeksen

Wanneer u een groot aantal tekenreeksvariabelen samenvoegt, bijvoorbeeld in een strakke lus, gebruikt System.Text.StringBuilder u in plaats van de operator C# + of visual Basic Concatenation Operators. Zie Meerdere tekenreeksen en samenvoegingsoperators in Visual Basic voor meer informatie.

Finalizers

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

Meer informatie

Zie ook