.NET 11 eski işlemcileri kapı dışarı ediyor
Microsoft, .NET 11 ile birlikte çalışma zamanının desteklediği minimum donanımı yükseltiyor. Habere göre hem x86/x64 hem de Arm64 mimarilerinde daha yeni komut setleri artık zorunlu hale geliyor. Bu, eski işlemcilerde .NET 11 uygulamalarının çalışmayabileceği anlamına geliyor; hatta sistem "mevcut CPU bir veya daha fazla temel komut setini içermiyor" benzeri bir mesaj gösterebiliyor.
Değişikliğin arkasında iki temel sebep var. Makalede belirtildiğine göre çok eski donanımlara destek vermek kod tabanını karmaşıklaştırıyor ve AOT hedefleri için bir "en düşük ortak payda" yaratıyor. Ayrıca bu adım, işletim sistemlerinin zaten istediği donanım gereksinimleriyle daha uyumlu hale gelmeyi amaçlıyor. Windows tarafında Arm64 için temel çizgi LSE komut setini gerektiriyor; bu da Windows 11 ve Windows 10'un resmi olarak desteklediği çiplerle örtüşüyor.
Apple cephesinde minimum donanımda değişiklik yok; M1 çiplerinin armv8.5-a seviyesine yakın olduğu belirtiliyor. Linux'ta ise Raspberry Pi gibi yalnızca AdvSimd destekleyen cihazlar hâla destekleniyor. fakat ReadyToRun hedefi LSE'yi kapsayacak şekilde güncellendiği için bazı cihazlarda başlangıçta ek JIT yükü oluşabilir. x86 tarafında ise baseline x86-64-v2'ye, ReadyToRun hedefi Windows ve Linux'ta x86-64-v3'e çekiliyor.
Öte yandan .NET 11, zaman uyumsuz programlama için önemli bir adım olan Runtime Async V2'yi de getiriyor. Habere göre derleyicinin ürettiği state machine sınıflarının yerini çalışma zamanının yönettiği askıya alma ve devam ettirme mekanizması alıyor. Bu, daha temiz stack trace'ler, daha iyi hata ayıklama ve daha düşük yük vaat ediyor. Özellik şu an önizleme aşamasında ve kullanmak için proje dosyasına özel bir özellik eklemek gerekiyor.
Kaynak: Hacker News