架构师_程序员_码农网

N Recupera la password
Registrazione

QQ登录

Un solo passo per iniziare

Ricerca
Vista:1515|Risposta: 1
打印 上一主题 下一主题

[NET 8 nuovo tipo di introduzione ad alte prestazioni

[Copia link]
S 跳转到指定楼层
proprietario
发表于 2023-5-7 09:37:47|只看该作者回帖奖励 | Scorrimento all'indietro|Modalità di lettura
Prefazione

Questa versione di .Net8 presenta molti cambiamenti rispetto a .Net7. Questo post analizza le modifiche apportate alle prestazioni di alcuni tipi e i nuovi tipi ufficialmente consigliati per migliorare le prestazioni delle applicazioni.

Panoramica

1.System.Collections.Frozen

Lo spazio dei nomi Frozen include i tipi di collezione FrozenDictionary<TKey,TValue> e FrozenSet. Questi tipi non consentono alcuna modifica alle chiavi e ai valori dopo la creazione della collezione. Questo requisito consente operazioni di lettura più rapide (ad esempio, TryGetValue()). Questi tipi sono particolarmente utili per le raccolte che vengono popolate al primo utilizzo e poi mantenute, ad esempio, per un lungo periodo di servizio:

2.System.Buffers.IndexOfAnyValues

Tipi destinati a essere passati ai metodi che cercano la prima corrispondenza di qualsiasi valore nell'insieme passato. Ad esempio, String.IndexOfAny(Char[]) trova la prima corrispondenza di qualsiasi carattere dell'array specificato nella stringa che lo chiama. NET 8 aggiunge nuovi sovraccarichi di metodi, come String.IndexOfAny e MemoryExtensions.IndexOfAny, che accettano istanze dei nuovi tipi. Quando si creano istanze di System.Buffers.IndexOfAnyValues, tutti i dati necessari per ottimizzare le ricerche successive vengono ricavati in quel momento, il che significa che il lavoro viene svolto in anticipo.

3. System.Text.

può essere utilizzato per ottimizzare stringhe di formato sconosciute in fase di compilazione (ad esempio, stringhe di formato caricate da un file di risorse). Richiede un po' di tempo in più per eseguire operazioni come il parsing delle stringhe in anticipo, ma ciò consente di risparmiare il lavoro che viene svolto ogni volta che viene utilizzato.

4. System.Buffers.IndexOfAnyValues

Tipo destinato a essere passato ai metodi che cercano la prima corrispondenza di qualsiasi valore nell'insieme passato. Ad esempio, String.IndexOfAny(Char[]) trova la prima corrispondenza di qualsiasi carattere dell'array specificato nella stringa che lo chiama. NET 8 aggiunge nuovi sovraccarichi di metodi, come String.IndexOfAny e MemoryExtensions.IndexOfAny, che accettano istanze dei nuovi tipi. Quando si creano istanze di System.Buffers.IndexOfAnyValues, tutti i dati necessari per ottimizzare le ricerche successive vengono ricavati in quel momento, il che significa che il lavoro viene svolto in anticipo.

5. System.Text.

può essere utilizzato per ottimizzare le stringhe di formato sconosciute in fase di compilazione (ad esempio, le stringhe di formato caricate da un file di risorse). Ci vorrà un po' di tempo in più per eseguire operazioni come il parsing delle stringhe, ma in questo modo si risparmia il lavoro da fare ogni volta che viene utilizzato.

6. System.Numerics e System.Runtime.Intrinsics

Miglioramenti ai namespace System.Numerics e System.Runtime.Intrinsics Vector256, Matrix3x2 e Matrix4x4 migliorano l'accelerazione hardware in .NET 8. Ad esempio, Vector256 è stato reimplementato come 2xVector128 dove possibile. Le funzioni interne all'hardware sono ora annotate utilizzando la proprietà ConstExpected. Questo assicura che l'utente sappia quando le costanti sono necessarie all'hardware sottostante e quando i valori non costanti possono danneggiare inaspettatamente le prestazioni.

Riferimento: https: //learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-8
Originale: https: //mp.weixin.qq.com/s/EMvJcu9WzQpCmi2ouzRBQw





Precedente: VSTO (F) per annullare o bloccare il salvataggio del documento Word
Next: ASP.NET Core (XVIII) personalizzato semplice OutputCache cache di uscita
NET, pubblicato solo nel processo di pratica, ha incontrato difficoltà tecniche, non ingannare gli altri.
divani outlet
Inviato il 2023-5-7 15:36:17|Solo Visualizza Autore
Non sono sicuro se si sarà in grado di farlo.
Il codice rete agricoltore, solo pubblicato nel processo di pratica, ha incontrato difficoltà tecniche, non fuorviare gli altri.
Devi effettuare il login prima di poter postare Log in | Registrati

Q uesta versione delle regole integrali


Disclaimer: Tutti i software, i materiali di programmazione o gli articoli rilasciati dalla rete di farmer codice è limitato a scopi di studio e di ricerca; il contenuto di cui sopra non deve essere utilizzato per scopi commerciali o illegali, altrimenti, tutte le conseguenze si prega di utente responsabile. Le informazioni di questo sito provengono dalla rete, la disputa sul copyright non ha nulla a che fare con questo sito. È necessario rimuovere completamente il contenuto di cui sopra dal computer entro 24 ore dal download. Se vi piace il programma, si prega di sostenere il software genuino, acquistare la registrazione e ottenere un servizio migliore genuino. In caso di violazione, si prega di contattarci via e-mail per risolvere il problema.

Posta To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 05:59

Risposta rapidaTorna all'inizioTorna all'elenco