Aracılığıyla paylaş


.NET Performans İpuçları

Performans terimi genellikle bir programın yürütme hızını ifade eder. Bazen kaynak kodunuzda belirli temel kuralları izleyerek yürütme hızını artırabilirsiniz. Bazı programlarda kodu yakından incelemek ve mümkün olduğunca hızlı çalıştığından emin olmak için profil oluşturucuları kullanmak önemlidir. Kod yazıldıkçe kabul edilebilir derecede hızlı çalıştığından, diğer programlarda bu iyileştirmeyi yapmanız gerekmez. Bu makalede, performansın olumsuz etkilendiği bazı yaygın alanlar ve iyileştirmeye yönelik ipuçları ve ek performans konularının bağlantıları listeleniyor. Performansı planlama ve ölçme hakkında daha fazla bilgi için bkz. Performans

Kutulama ve Kutudan Çıkarma

Değer türlerini, örneğin gibi System.Collections.ArrayListgenel olmayan koleksiyon sınıflarında, çok sayıda kutulanması gereken durumlarda kullanmaktan kaçınmak en iyisidir. gibi System.Collections.Generic.List<T>genel koleksiyonları kullanarak değer türlerinin kutulanmasından kaçınabilirsiniz. Boxing ve unboxing hesaplama açısından maliyetli süreçlerdir. Bir değer türü kutulandığında, tamamen yeni bir nesne oluşturulmalıdır. Bu, basit bir başvuru atamasından 20 kat daha uzun sürebilir. Kutunun açılması sırasında, döküm işlemi bir atamadan dört kat daha uzun sürebilir. Daha fazla bilgi için bkz. Kutulama ve Kutu Açma.

Dize

Çok sayıda dize değişkenini birleştirirseniz (örneğin sıkı bir döngüde), C# System.Text.StringBuilder veya Visual Basic Birleştirme İşleçleri yerine kullanın. Daha fazla bilgi için bkz. Visual Basic'te birden çok dizeyi birleştirme ve Birleştirme İşleçleri.

Sonlandırıcılar

Boş sonlandırıcılar kullanılmamalıdır. Bir sınıf sonlandırıcı içerdiğinde, Finalize kuyruğunda bir girdi oluşturulur. Sonlandırıcı çağrıldığında, kuyruğu işlemek için çöp toplayıcı çağrılır. Sonlandırıcı boş olduğunda, bu sadece performans kaybına yol açar. Daha fazla bilgi için bkz . Sonlandırıcılar ve Nesne Ömrü: Nesneler Nasıl Oluşturulur ve Yok Edilir.

Diğer Kaynaklar

Ayrıca bakınız