Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 23489|Отговор: 5

[Източник] [Истински бой]. NET 6 Random генерира тест за случайни числа

[Копирай линк]
Публикувано на 31.03.2022 г. 16:20:26 | | | |
Наскоро Microsoft публикува блог пост за подобренията в производителността на .NET 6, в който се споменаха много интересни неща, едно от които беше Random.Shared.

Това е статично свойство само за четене и обект за нишки, което може да ни помогне да опростим използването на случайни обекти.

Случайно. СподеленоПредоставя безопасен за нишки инстанция на Random, която може да се използва от всяка нишка едновременно。 Препратка:Входът към хиперлинк е видим.

Първо, трябва да знаем, че Random не е безопасен за нишки, така че ако искаме да използваме Random в multithreading, обикновеноТрябва да се вземе предвид безопасността на резбата。 Тъй като не е безопасен за нишки, можем да създадем един, когато го използваме, и винаги нов, но в този случай кодът не е достатъчно кратък, а от друга страна може да създаде повече случайни обекти и има и натоварване за производителността.

Нека го сравним и тестваме с BenchmarkDotNet, и кодът е следният:
.NET/C# използва BenchmarkDotNet за тестване на производителността на кода
https://www.itsvse.com/thread-9576-1-1.html
Старият метод е, че винаги добавям нов случаен обект, за да генерира случайно число, а новият метод извиква най-новия Random.Shared метод, предоставен в .NET 6. Тестовите визуализации са както следва:



Гледаме средното средно време за изпълнение с новите функции10x усилване

(Край)






Предишен:ASP.NET Core (дванадесет) фронтенд JS, CSS пакетиране и компресия
Следващ:ASP.NET Core (XIII), за да определи дали е заявка на Ajax или не
Публикувано на 2022-4-2 09:15:51 |
Време е да се научиш отново
Публикувано на 2022-4-14 10:42:00 |
Ела и учи, проститутко, благодаря, че сподели.
Публикувано на 2022-6-20 17:01:32 |
Подкрепям някого! Благодаря, че сподели
 Хазяин| Публикувано на 25.11.2023 21:01:04 |
Използвайте метода GUID, за да изберете на случаен принцип един от колекцията (не го използвайте за заявка към база данни, иначе цялата таблица ще бъде запитана)

 Хазяин| Публикувано на 2025-4-6 09:33:00 |
Попълнете байтовите масиви с криптографски случайни стойностни последователности. (където System.Security.Cryptography.RNGCryptoServiceProvider е остарял)


или
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com