Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 3616|Yanıt: 2

[Kaynak] .NET/C#, yüksek performanslı telleri işlemek için Span kullanır

[Bağlantıyı kopyala]
Yayınlandı 25.05.2023 20:13:18 | | | |
Gereksinimler: Son zamanlarda<T> Span ve Bellek gibi bilgilere <T>baktığımda, bu tür nesneleri kullanmanın birçok avantajı olduğunu düşünüyorum; örneğin: belleğe doğrudan erişim (ve çok güvenli), gereksiz bellek tahsisinin azaltılması (örneğin, sahneye bağlı olarak, dize dönüşümünün alt dizi kesimlenmesi), bellekteki değerlerin değiştirilmesi ve yine de öğrenme, ama derinlemesine bir anlayış değil.

System.Span<T>, .NET çekirdeğinde yeni bir değer türüdür. Bu bellek yönetilen bir nesneyle ilişkilendirilmiş olsun, yerel kod ile interop yoluyla sağlansa da yığında olsun, rastgele bellek bölgesinin sürekli temsil edilmesini destekler. Bunu, dizilere benzer performans özelliklerine sahip güvenli erişim sağlarken sağlar. Kullanımda Span, çok az veya hiç ek yük olmadan hafıza ve veri güvenliğini sağlar.

Örneğin, bir diziyi int, guid, long vb. tiplerine dönüştürmek için Substring kullanırsak, artık alınan dize içeriğini kullanmayız, ancak Substring'i çağırarak yeni bir dizi döndürmek yeni bellek alanı talep eder.

İlk olarak, aşağıdaki şekilde BenchmarkDotNet kıyaslama aracı tanıtılır:

.NET/C#, kod performansını test etmek için BenchmarkDotNet kullanır
https://www.itsvse.com/thread-9576-1-1.html
Test kodu şu şekildedir:

Sonuçlar şu şekildedir:



Referans:

Bağlantı girişi görünür.
Bağlantı girişi görünür.





Önceki:.NET/C# sözdizimi giriş ifadesi
Önümüzdeki:Docker, çevrimiçi zihin haritaları oluşturuyor draw.io
Yayınlandı 26.05.2023 14:11:02 |
Gel ve öğren...
 Ev sahibi| Yayınlandı 1.09.2023 21:59:03 |
Eğer evet olursa.NET çerçevesireferans verilebilirSystem.Memory.dllReadOnlySpan, AsSpan kullanın
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com