kata pengantar
. Versi Net8, dibandingkan dengan. Net7 telah banyak berubah. Pada artikel ini, mari kita lihat beberapa jenis perubahan kinerjanya, jenis baru yang direkomendasikan secara resmi yang bertujuan untuk meningkatkan performa aplikasi.
Bungkus
1.Sistem.Koleksi.Beku
Namespace mencakup jenis koleksi FrozenDictionary< TKey, TValue> dan FrozenSet. Setelah koleksi dibuat, jenis ini tidak mengizinkan perubahan apa pun pada kunci dan nilai. Persyaratan ini memungkinkan operasi baca yang lebih cepat (misalnya, TryGetValue()). Jenis ini sangat berguna untuk koleksi yang diisi pada penggunaan pertama dan kemudian disimpan untuk layanan jangka panjang, seperti:
2.System.Buffers.IndexOfAnyValues
Jenis ini dimaksudkan untuk diteruskan ke metode menemukan kecocokan pertama dari nilai apa pun dalam koleksi yang dilewati. Misalnya, String.IndexOfAny(Char[]) mencari kecocokan pertama karakter apa pun dalam array yang ditentukan dalam string yang memanggilnya. NET 8 menambahkan kelebihan metode baru, seperti String.IndexOfAny dan MemoryExtensions.IndexOfAny yang menerima instans jenis baru. Saat Anda membuat instans System.Buffers.IndexOfAnyValues, semua data yang diperlukan untuk mengoptimalkan pencarian berikutnya akan diturunkan pada saat itu, yang berarti bahwa pekerjaan dilakukan di muka.
3.Sistem.Teks.Format Komposit
Jenis dapat digunakan untuk mengoptimalkan string format yang tidak diketahui pada waktu kompilasi (misalnya, string format dimuat dari file sumber daya). Dibutuhkan beberapa waktu ekstra di awal untuk melakukan hal-hal seperti mengurai string, tetapi ini menghemat pekerjaan yang dilakukan setiap kali Anda menggunakannya.
4.Sistem.PenyanggaIndeksDariNilaiSembarang
Jenis ini dimaksudkan untuk diteruskan ke metode menemukan kecocokan pertama dari nilai apa pun dalam koleksi yang dilewati. Misalnya, String.IndexOfAny(Char[]) mencari kecocokan pertama karakter apa pun dalam array yang ditentukan dalam string yang memanggilnya. NET 8 menambahkan kelebihan metode baru, seperti String.IndexOfAny dan MemoryExtensions.IndexOfAny yang menerima instans jenis baru. Saat Anda membuat instans System.Buffers.IndexOfAnyValues, semua data yang diperlukan untuk mengoptimalkan pencarian berikutnya akan diturunkan pada saat itu, yang berarti bahwa pekerjaan dilakukan di muka.
5.Sistem.Teks.Format Komposit
Jenis dapat digunakan untuk mengoptimalkan string format yang tidak diketahui pada waktu kompilasi (misalnya, string format dimuat dari file sumber daya). Dibutuhkan beberapa waktu ekstra di awal untuk melakukan hal-hal seperti mengurai string, tetapi ini menghemat pekerjaan yang dilakukan setiap kali Anda menggunakannya.
6. System.Numerics dan System.Runtime.Intrinsics
Peningkatan pada namespace System.Numerics dan System.Runtime.Intrinsics. Vector256, Matrix3x2, dan Matrix4x4 meningkatkan akselerasi perangkat keras di .NET 8. Misalnya, Vector256 telah mengimplementasikan ulang 2xVector128 jika memungkinkan. Internal perangkat keras sekarang membuat anotasi menggunakan properti ConstExpected. Ini memastikan bahwa pengguna tahu kapan perangkat keras yang mendasarinya membutuhkan konstanta dan kapan nilai luar biasa dapat secara tidak sengaja membahayakan kinerja.
Referensi:Login hyperlink terlihat. Asli:Login hyperlink terlihat.
|