Örneğin, ben gcc için tanımlandığı şekilde ve Linux çekirdeği kullanılır biliyoruz:C# 'da şube tahmini ipuçlarını kullanmak mümkün mü?
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
böyle bir şey C# mümkün değilse, en koyarak elle if ifadesi yeniden düzenlemek için en iyi alternatif olduğunu büyük olasılıkla ilk? Bu tür dış bilgiye dayanarak optimize etmenin başka yolları var mı?
İlgili bir notta, CLR koruma maddelerinin nasıl tanımlanacağını bilir ve alternatif dalın alınacağını varsayar, bu optimizasyonun koruyucu gözlüklerde kullanılması uygun değildir, doğru mu?
(Bunun mikro optimizasyon olabilir fark Not; ben akademik amaçlarla ilgileniyorum.)
Bunu nasıl yaparsınız, C# derlemesi olarak görmek, herhangi bir yerel CPU'ya derlenebilecek bir bayt kodu olan bir bayt kodu mu? – Oded
Cevap "hayır, bu mümkün değil." Bu imkansızlığın mantığı Oded tarafından belirtilmiştir. –
Eğer IL, yerel kod için bir ipucu için bir talimatın kullanılabileceği, derlenmiş olduğundan, IL yapılabileceğini umuyordum sanırım. Ya da, diğer herhangi bir benzer teknik, işlemci düzeyinde olmasa bile, (bunun mümkün olduğundan emin değilim) ilgi çekicidir. – ceyko