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

Изглед: 3487|Отговор: 3

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

[Копирай линк]
Публикувано в 17.09.2023 г. 10:45:34 ч. | | | |
Изисквания: HTTP вече добавя алгоритъм за компресия Brotli, за да тества Gzip и Brotli алгоритми. В зависимост от проекта, в статията се тества само скоростта на декомпресия.

Бротли има12 нива на компресия, от 0 до 11, където 0 осигурява най-бърза скорост на компресия, но най-ниско коефициентно съотношение, докато 11 осигурява най-високо степен на компресия, но изисква повече изчислителни ресурси и време. Когато за първи път реализирахме Brotli преди 5 години, установихме, че 4-нивата компресия осигурява баланс между спестяване на байтове и време за компресия без компромис с производителността. Колкото по-високо е нивото на компресия, толкова по-малък е отпечатъкът, но продава повече CPU и паметни ресурси.

ASP.NET Алгоритъм Brotli вече е вграден в ядрото и не изисква препратка към пакети на трети страни. (Тази статия ще се отнася до пакета на трета страна: BrotliSharpLib и вградения за сравнение), конфигурацията е следната:


ASP.NET Core Brotli компресионен поток: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.



Кодът за изброяване на нивото на компресия е следният:

Създайте нов проект за .NET 6 конзола със следния бенчмарк код:


Резултатите от теста са следните:



Тествах файл от 503kb и след компресия нямаше голяма разлика, около 400kb, и се оказа, че скоростта на декомпресия на 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
 Хазяин| Публикувано в 7.01.2025 г. 10:18:37 ч. |
【цип】. NET/C# използва вграден System.IO.Compression за компресиране и декомпресиране
https://www.itsvse.com/thread-10912-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com