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

Вид: 23489|Ответ: 5

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

[Скопировать ссылку]
Опубликовано 31.03.2022 16:20:26 | | | |
Недавно Microsoft опубликовала пост в блоге о улучшении производительности .NET 6, в котором упоминалось много интересных моментов, одна из которых — Random.Shared.

Это статическое свойство только для чтения и объект, безопасный для потоков, он может помочь нам упростить использование случайных объектов.

Случайно. ОбщееОбеспечивает безопасный для потоков экземпляр Random, который можно использовать из любого потока одновременно。 Ссылка:Вход по гиперссылке виден.

Прежде всего, нам нужно знать, что Random не является безопасен для потоков, поэтому если мы хотим использовать Random в многопоточности, обычноНеобходимо учитывать безопасность резьбы。 Поскольку он не является потечно-безопасным, мы можем создавать его при использовании и каждый раз новый код, но в данном случае код недостаточно лаконичный, а с другой стороны, он может создавать больше случайных объектов и увеличивать нагрузку на производительность.

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



Мы смотрим на среднее время выполнения новых функций10-кратное усиление

(Конец)






Предыдущий: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