Dela via


Prestandatips för .NET

Termen prestanda refererar vanligtvis till körningshastigheten för ett program. Du kan ibland öka exekveringshastigheten genom att följa vissa grundläggande regler i din källkod. I vissa program är det viktigt att undersöka koden noggrant och använda profilerare för att se till att den körs så snabbt som möjligt. I andra program behöver du inte utföra en sådan optimering eftersom koden körs acceptabelt snabbt när den skrivs. Den här artikeln innehåller några vanliga områden där prestanda kan drabbas och tips för att förbättra den samt länkar till ytterligare prestandaämnen. Mer information om att planera och mäta prestanda finns i Prestanda

Boxning och avboxning

Undvik att använda värdetyper i situationer där de behöver boxas ofta, till exempel i icke-generiska samlingsklasser som System.Collections.ArrayList. Du kan undvika boxning av värdetyper med hjälp av generiska samlingar som System.Collections.Generic.List<T>. Boxning och unboxing är beräkningsmässigt dyra processer. När en värdetyp boxas måste ett helt nytt objekt skapas. Det kan ta upp till 20 gånger längre tid än en enkel referenstilldelning. När du packar upp kan gjutningsprocessen ta fyra gånger så lång tid som en uppgift. Mer information finns i Boxning och Avboxning.

Strängar

När du sammanfogar ett stort antal strängvariabler, till exempel i en snäv loop, använder du System.Text.StringBuilder i stället för C# + operatorn eller Visual Basic Concatenation Operators. Mer information finns i Sammanfoga flera strängar och sammanlänkningsoperatorer i Visual Basic.

Finalisatorer

Tomma finalizers ska inte användas. När en klass innehåller en finalisator skapas en post i finaliseringskön. När slutföraren anropas anropas skräpinsamlaren för att bearbeta kön. Om finalizern är tom resulterar detta helt enkelt i att prestandan går förlorad. Mer information finns i Finalizers och Object Lifetime: Hur objekt skapas och förstörs.

Andra resurser

Se även