Mühürlenmiş sınıflar gerçekten performans Avantajları sunuyor musunuz?
Ekstra performans avantajları elde etmek için kapalı olarak derslere işaretlemeniz gerekir ki optimizasyon ipuçları bir sürü ile karşılaştım.
Bazı testler performans farkı kontrol etmek için araştırdım ve hiçbir şey bulamadım. Yanlış bir şey mi yapıyorum? Mühürlenmiş sınıflar daha iyi sonuçlar verecektir durumunda eksik muyum?
Kimseye testler ve bir fark gören var mı?
Benim öğrenmek :) yardım
CEVAP
Cevap hayır, sınıfları olmayan kapalı daha iyi gerçekleştirmek mühürlü değil.
Sorun call
vs callvirt
IL op kodları aşağı gelir. Call
** 3 ve callvirt
nesne alt olmuşsa bilmiyorum ama esas olarak daha hızlı değildir. İnsanların bir sınıf op seal eğer kodları calls
calvirts
değişecek ve daha hızlı olacağını tahmin ediyorum.
Ne yazık ki callvirt
çok kullanışlı hale diğer şeyler, null referansları kontrol gibi geliyor. Bu eğer bir sınıf korumalı değilse bile, başvuru hala boş olabilir ve bu nedenle callvirt
gerekli bir araç. Bu etrafında alabilirsiniz (sınıf seal gerek kalmadan) ama biraz anlamsız olur.
Yapılar alt edilemez ve hiç boş olduğundan call
kullanın.
Daha fazla bilgi için: bu soru bakın
foreach break vs etmeniz FirstOrDefaul...
Nasıl 'yeniden' ''...
.Gerçekten kaldırılmış NET Uzak?...
Neden bu Scala kod için küçük bir deği...
SABUN performans XML-RPC vs. veya DİNL...