Gereksiz atmalarını optimize alabilirim?
Bazı eski kod güncelleme yapıyorum, ve aynı nesneyi tekrar tekrar her seferinde lanse ediliyor birkaç örnek bulduk özelliklerinden birini veya yöntem çağrılmalıdır. Örnek:
if (recDate != null && recDate > ((System.Windows.Forms.DateTimePicker)ctrl).MinDate)
{
((System.Windows.Forms.DateTimePicker)ctrl).CustomFormat = "MM/dd/yyyy";
((System.Windows.Forms.DateTimePicker)ctrl).Value = recDate;
}
else
{
(System.Windows.Forms.DateTimePicker)ctrl).CustomFormat = " ";
}
((System.Windows.Forms.DateTimePicker)ctrl).Format = DateTimePickerFormat.Custom;
Hevesim, bu ucubeyi düzeltmek için, ama benim sınırlı zaman verilen etkileyen işlevi veya performans değil, bir şey ile rahatsız etmek istemiyorum.
Merak ediyorum, ne gereksiz atmalarını bu derleyici tarafından optimize kaçıyor? Bu basitleştirilmiş bir örnek üzerinde ıldasm kullanarak kendimi bulmaya çalıştım, ama IL aşina olmak değil, sadece daha karışık sona erdi.
GÜNCELLEME
Şimdiye kadar, uzlaşma gibi bir)hayır, atmalarını değil optimize edilmiş, ancak b)süre orada muhtemelen bazı küçük performans vurmak gibi bir sonuç değil, büyük olasılıkla önemli, ve c)gereken düşünün böyle zaten. Eğer vaktim olursa bir gün bu düzeltme, sorunu çözüm tarafta yer var. Bu arada, onlar hakkında endişelenmenize gerek olmayacak.
Herkese teşekkürler!
CEVAP
Sürüm oluşturma, oluşturulan makine kodu ile ilgili bir spot check 86 Jetta döküm optimize uzakta olmadığını gösteriyor.
Büyük resme bakın burada bile var. Bir denetimin özelliklerini atadığınız. Yan etkileri bir ton var. DateTimePicker durumunda, atama mesaj yerel Windows Denetim için gönderilen sonuçlar. Sırayla uzak mesaj at egzersizi. Döküm maliyetini yan etkiler ve maliyet göz ardı edilebilir. Atamalarını yeniden asla sadece bir yüzde bir kısmını yaptı hızda belirgin bir fark, daha hızlı yapacak.
Devam edin ve tembel bir Cuma öğleden sonra kodu yeniden yazmak. Ama sadece okunabilirlik için bir yıkım olur çünkü. Kötü okunabilir bir C# da kötü optimize makine kodu üretir kod tamamen bir tesadüf değildir.
Nasıl ASP.NET MVC bir eyleme başvuran ...
Neden hata "Güvenli olmayan kod y...
Kod optimize edilmiş olduğundan ifades...
Nasıl piyasa verileri 7.3 milyar satır...
Neden't değil .Kuyruk özyineleme ...