Performans hakkında endişeli iseniz, bir profiler çalıştırın. Ardından, kodunu değiştirin. Şansınız, bir milyon yıl içinde asla zamanın geçtiği yerde% 100 doğru tahmin edemeyeceğinizdir. % 0.02 zamanlamasını değiştirebilir ve yükün% 62'sine katkıda bulunan yöntemi bırakabilirsiniz. Daha da kötüsünü yapabilirdin. Bir profiler ve kanıt olmadan, körsün.
Sen JIT bir özellik getter satır içi edeceğini üstlenmez olabilir. Yapabileceği ya da yapmayabileceği birçok sebep vardır; yöntem, vücut boyutu, vb referans tipi, mimari, bağlı hata ayıklayıcı vs sanal değeri
"kaldırma" hala bir yere sahiptir, ve yine de görmek kod sıkı bir döngüde sürekli olarak adlandırılır halinde elde edebilirsiniz; örneğin:
var count = list.Count;
for(int i = 0 ; i < count ; i++) {...}
(- bu bir dik tartışma yukarıda fr for
foreach
vs tartışmayı unutma). Yukarıdakilerde, "kaldırma" performansa yardımcı olacaktır. Ama sadece gerçekten kafa karıştırıcı olmak - tam tersi olduğunu ve değil vinç sayesinde daha verimlidir dizilerle o:
JIT bu tanır ve diziler sabit olarak (sınırları çek kaldırır for(int i = 0 ; i < arr.Length ; i++) {...}
boyut).
Sonunu bilmiyordum! Bilmek güzel, teşekkürler! – Groo
Bilgi için teşekkürler, ancak bu bilgi için iyi bir başvuru rica ediyorum –
Benim amacım, * no * referansının size bu konuda yardımcı olacağıdır. Bir ** profiler ** olacak. –