Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 23489|Odpowiedź: 5

[Źródło] [Rzeczywista walka]. NET 6 Losowość generuje test liczb losowych

[Skopiuj link]
Opublikowano 31.03.2022 o 16:20:26 | | | |
Niedawno Microsoft opublikował wpis na blogu o poprawie wydajności .NET 6, w którym wspomniano wiele ciekawych rzeczy, w tym Random.Shared.

To statyczna właściwość tylko do odczytu i obiekt bezpieczny dla wątków, może pomóc nam uprościć użycie obiektów losowych.

Losowo.UdostępnioneZapewnia bezpieczną dla wątków instancję Losową, którą można używać z dowolnego wątku jednocześnie。 Odniesienie:Logowanie do linku jest widoczne.

Przede wszystkim musimy wiedzieć, że Random nie jest bezpieczny dla wątków, więc jeśli chcemy używać Random w wielowątkowości, zwykleNależy wziąć pod uwagę bezpieczeństwo gwintu。 Ponieważ nie jest bezpieczny dla wątków, możemy tworzyć jeden podczas korzystania i za każdym razem nowy, ale w tym przypadku kod nie jest wystarczająco zwięzły, a z drugiej strony może tworzyć więcej losowych obiektów, a także pojawia się narzut wydajnościowy.

Porównajmy to i przetestujmy z BenchmarkDotNet, a kod wygląda następująco:
.NET/C# wykorzystuje BenchmarkDotNet do testowania wydajności kodu
https://www.itsvse.com/thread-9576-1-1.html
Stara metoda polega na tym, że zawsze tworzę nowy obiekt losowy, aby wygenerować losową liczbę, a nowa metoda wywołuje najnowszą metodę Random.Shared dostępną w .NET 6. Testowe wizualizacje przedstawiają się następująco:



Przyglądamy się średniemu średniemu czasowi wykonania przy nowych funkcjach10x boost

(Koniec)






Poprzedni:ASP.NET Core (dwanaście) front-end JS, bundling CSS i kompresja
Następny:ASP.NET Core (XIII), aby określić, czy jest to żądanie Ajax, czy nie
Opublikowano 2022-4-2 09:15:51 |
Czas nauczyć się na nowo
Opublikowano 2022-4-14 10:42:00 |
Chodź i ucz się, prostytutko, dziękuję za podzielenie się.
Opublikowano 2022-6-20 17:01:32 |
Do akwarium! Dzięki za podzielenie się
 Ziemianin| Opublikowano 2023-11-25 21:01:04 |
Użyj metody GUID, aby losowo wybrać jedną z kolekcji (nie używaj jej do zapytań bazy danych, w przeciwnym razie cała tabela zostanie zapytana)

 Ziemianin| Opublikowano 2025-4-6 09:33:00 |
Wypełnij tablice bajtów kryptograficznymi sekwencjami losowych wartości. (gdzie System.Security.Cryptography.RNGCryptoServiceProvider jest przestarzały)


lub
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com