Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 3616|Jawab: 2

[Sumber] .NET/C# menggunakan Span untuk menangani string dengan performa tinggi

[Salin tautan]
Diposting pada 25/05/2023 20.13.18 | | | |
Persyaratan: Baru-baru ini, melihat pengetahuan<T> seperti Rentang dan Memori<T>, saya merasa bahwa ada banyak keuntungan menggunakan objek tersebut, seperti: akses langsung ke memori (dan sangat aman), pengurangan alokasi memori yang tidak perlu (tergantung pada adegan, misalnya, intersepsi substring konversi string), modifikasi nilai dalam memori, dan masih belajar, bukan pemahaman yang mendalam.

System.Span<T> adalah jenis nilai baru di inti .NET. Ini mendukung representasi wilayah memori arbitrer yang berdekatan, apakah memori tersebut dikaitkan dengan objek terkelola, disediakan oleh kode asli melalui interop, atau berada di tumpukan. Itu dilakukan sambil tetap menyediakan akses yang aman, dengan karakteristik kinerja yang mirip dengan array. Saat digunakan, Span memastikan keamanan memori dan data dengan sedikit atau tanpa overhead.

Misalnya, jika kita menggunakan Substring untuk mengonversi string untuk mengetik int, guid, long, dll., kita tidak akan lagi menggunakan konten string yang disadap, tetapi memanggil Substring untuk mengembalikan string baru akan meminta ruang memori baru.

Pertama, alat benchmarking BenchmarkDotNet diperkenalkan, sebagai berikut:

.NET/C# menggunakan BenchmarkDotNet untuk menguji performa kode
https://www.itsvse.com/thread-9576-1-1.html
Kode pengujiannya adalah sebagai berikut:

Hasilnya adalah sebagai berikut:



Referensi:

Login hyperlink terlihat.
Login hyperlink terlihat.





Mantan:Pernyataan goto sintaks .NET/C#
Depan:Docker membuat peta pikiran online berdasarkan draw.io
Diposting pada 26/05/2023 14.11.02 |
Datang dan belajar...
 Tuan tanah| Diposting pada 01/09/2023 21.59.03 |
Jika yaKerangka kerja .NETdapat direferensikanSystem.Memory.dllGunakan ReadOnlySpan, AsSpan
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com