Building in Release derlemesi, C# derleyicisi için/optile derleme seçeneğini açar. Bu, az sayıda yan etkiye sahiptir, IL gerçekten değişiyor ama büyük bir şey değil. Unutulmamalıdır ki derleyici artık kodu mükemmel bir şekilde hata ayıklamak için çaba harcamaz. Örneğin, boş bir statik yapıcıyı atlar, artık bir kaşlı ayraç üzerinde bir kesme noktası ayarlamanıza ve bir yığın çerçevesinde üst üste çakışan farklı değişkenlere sahip yerel değişkenlere izin veren NOP işlem kodlarını çıkarmaz. Önemsiz şeyler.
En önemli fark, derleme için yayımlanan [Debuggable] özniteliğidir, IsJITOptimizerDisabled özelliği yanlıştır.
gerçek en iyi duruma getirici, jitter içine yerleşik olan en iyi duruma getirici. this answer'da gerçekleştirdiği optimizasyonların listesini bulacaksınız. Bu yaklaşımın yararlılığını, herhangi bir dil faydasının, kod iyileştiricisinin derleyici yerine jitter'e sahip olmasına dikkat edin. Kısaca, IL'deki çok küçük değişiklikler, oluşturulan makine kodunda çok büyük değişiklikler.
İyi soru, ama neden bilmek istiyorsun? – Cameron
Çünkü bir iş görüşmesinde reddedildim ve sinirlendim. Geliştiricilerin, bu şeylerin sahne arkasında nasıl çalıştığını daha fazla bilmeleri gerektiğini düşünüyorum. – RollRoll
Büyük soru! – nawfal