SORU
5 AĞUSTOS 2008, Salı


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
24 Aralık 2008, ÇARŞAMBA


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

Call and callvirt

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013