Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 23489|Risposta: 5

[Fonte] [Combattimento vero e proprio]. NET 6 Random genera un test di numeri casuali

[Copiato link]
Pubblicato il 31-03-2022 16:20:26 | | | |
Recentemente Microsoft ha pubblicato un post sul blog riguardo ai miglioramenti delle prestazioni di .NET 6, che menzionava molte cose interessanti, una delle quali era Random.Shared.

Questa è una proprietà statica di sola lettura e un oggetto thread-safe, questo strumento può aiutarci a semplificare l'uso degli oggetti casuali.

Casuale.CondivisoFornisce un'istanza thread-safe di Random che può essere usata da qualsiasi thread contemporaneamente。 Riferimento:Il login del link ipertestuale è visibile.

Prima di tutto, dobbiamo sapere che Random non è thread-safe, quindi se vogliamo usare Random nel multithreading, di solitoBisogna considerare la sicurezza del filo。 Poiché non è thread-safe, possiamo crearne uno quando lo usiamo, e uno nuovo ogni volta, ma in questo caso il codice non è abbastanza conciso e, d'altra parte, potrebbe creare più oggetti casuali, e c'è anche un overhead di prestazioni.

Confrontiamolo e testiamo con BenchmarkDotNet, e il codice è il seguente:
.NET/C# utilizza BenchmarkDotNet per testare le prestazioni del codice
https://www.itsvse.com/thread-9576-1-1.html
Il metodo vecchio è che seguo sempre un nuovo oggetto Random per generare un numero casuale, e il metodo New chiama l'ultimo metodo Random.Shared fornito in .NET 6. Le rappresentazioni di prova sono le seguenti:



Guardiamo il tempo medio medio di esecuzione con le nuove funzionalitàBoost 10x

(Fine)






Precedente:ASP.NET Core (dodici) front-end JS, bundle CSS e compressione
Prossimo:ASP.NET Core (XIII) per determinare se si tratta di una richiesta Ajax o meno
Pubblicato il 2022-4-2 09:15:51 |
È ora di imparare di nuovo
Pubblicato il 14-04-2022 alle 10:42:00 |
Vieni a imparare, prostituta, grazie per aver condiviso.
Pubblicato il 20-6-2022 17:01:32 |
Tra i fan! Grazie per aver condiviso
 Padrone di casa| Pubblicato il 25-11-2023 21:01:04 |
Usa il metodo GUID per selezionarne casualmente uno dalla collezione (non usarlo per query del database, altrimenti verrà interrogata l'intera tabella)

 Padrone di casa| Pubblicato il 6-04-2025 09:33:00 |
Popolare gli array di byte con sequenze di valori casuali crittografiche. (dove System.Security.Cryptography.RNGCryptoServiceProvider è deprecato)


o
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com