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

Вид: 3487|Ответ: 3

[Источник] .NET 6 тестирует алгоритмы Gzip и Brotli

[Скопировать ссылку]
Опубликовано 17.09.2023 10:45:34 | | | |
Требования: HTTP теперь добавляет алгоритм сжатия Brotli для тестирования алгоритмов Gzip и Brotli. В зависимости от проекта в статье тестируется только скорость декомпрессии.

Бротли12 уровней сжатия, от 0 до 11, где 0 обеспечивает самую высокую скорость сжатия, но минимальное степень сжатия, а 11 — самое высокое, но требует больше вычислительных ресурсов и времени. Когда мы впервые реализовали Brotli 5 лет назад, мы определили, что четырёхуровневая компрессия обеспечивает баланс между экономией байтов и временем сжатия без ущерба для производительности. Чем выше уровень сжатия, тем меньше площадь, но это продаёт больше ресурсов процессора и памяти.

ASP.NET алгоритм Brotli уже встроен в ядро и не требует ссылки на сторонние пакеты. (В этой статье будет рассматриваться сторонний пакет: BrotliSharpLib и встроенный для сравнения), конфигурация выглядит следующим образом:


ASP.NET Поток вызова компрессии Brotli: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.



Код перечисления уровня сжатия следующий:

Создайте новый консольный проект для .NET 6 с использованием следующего эталонного кода:


Результаты теста следующие:



Я протестировал файл на 503 КБ, и после сжатия разницы почти не было — около 400 КБ, и оказалось, что скорость декомпрессии Gzip всё ещё выше, чем у Brotli, которая должна быть такой жеРазмер файла, . NET-версия, уровень сжатия, содержимое файла и так далееКороче говоря, лучше выбрать ту сцену, которая вам подходит.

Если вы столкнётесь с такой ошибкой:

Окружающая среда
  Резюме -> Обнаружен код выхода ошибки из одного из бенчмарков. Это может быть вызвано следующим антивирусным ПО:
        - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe)
        - Windows Defender (windowsdefender://)
Используйте InProcessEmitToolchain или InProcessNoEmitToolchain, чтобы избежать создания новых процессов.
решение

или
(Конец)





Предыдущий:[Поворот]. NET использует Brotli для сжатия и декомпрессии данных
Следующий:EF6 Required допускает пустые строки, но не нули
 Хозяин| Опубликовано 17.09.2023 10:46:46 |

asp.net core 3.1 поддерживает алгоритм сжатия Brotli на сайте
https://www.itsvse.com/thread-9532-1-1.html

.net/c# Сжатие данных GZipStream
https://www.itsvse.com/thread-4240-1-1.html




 Хозяин| Опубликовано 17.09.2023 10:48:01 |
[Поворот]. NET использует Brotli для сжатия и декомпрессии данных
https://www.itsvse.com/thread-10662-1-1.html
 Хозяин| Опубликовано 07.01.2025 10:18:37 |
【Zip】. NET/C# использует встроенный System.IO.Compression для сжатия и распаковки
https://www.itsvse.com/thread-10912-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com