Etiketler

, , , , , , ,


String Yönetimi

String yönetimi performans gerektiren projelerde üzerinde durulması ve dikkat edilmesi gereken konuların başında gelmektedir. Her ne kadar uygulamalarımızı yayınladığımız sunucuların kaynakları eskiye nazaran oldukça fazla ve bir o kadar konfigurasyonları kuvvetli ise de mükemmeliyetçi bir yaklaşımla performansı maksimize etmek için string yönetimi de göz ardı edilmemelidir.Aşırı string manipülasyonları ( birleştirmeler, çıkartmalar) gereksiz kaynak kullanımına yol açar. Çünkü “string” sınıfı her atama işleminde kendisinin bir kopyasını oluşturur. Daha önceki yazılarımda açıkladığım üzere değer tipliymiş gibi çalışan referans tipli bir değişkendir. (Bkz: “Byval – Byref ” in Değer ve Referans Tiplerdeki Davranış Farklılığı) . Bu da GC (Garbage Collector) a, ayrılan kaynakları serbest bırakması aşamasında ekstra yük doğurur. (Bkz: Tasarımda Göz Önüne Almanız Gerekenler – Performans Arttırma / Etkin kaynak yönetimi)Kompleks String birleştirme işlemlerinizde “StringBuilder” sınıfını kullanınız. Ama eğer tek bir satır üzerinde belirli sayıda ekleme işleme gerçekleştirecekseniz, “+” ya da ”&” operatörünü tercih edebilirsiniz.

ASP.NET uygulamalarında, dinamik olarak HTML çıktısı (özellikle table nesnesi ile verileri düzgün bir formatta göstermek isterken , sayfa içersine gömme ihtiyacınız olan bir javascript kodunu hazırlarken … vb) üretip, bunu sayfada göstermek istiyorsanız, StringBuilder sınıfı yerine, ardışık olarak “Respose.Write” metodunu çağırmayı tercih ediniz. (Bkz: http://msdn.microsoft.com/en-us/library/ms998574.aspx)
Bu konu ile ilgili olarak aşağıdaki yazıları okumanızı öneririm.