Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3487|Resposta: 3

[Fonte] .NET 6 testa algoritmos Gzip e Brotli

[Copiar link]
Publicado em 17/09/2023 10:45:34 | | | |
Requisitos: O HTTP agora adiciona um algoritmo de compressão Brotli para testar algoritmos Gzip e Brotli. Dependendo do projeto, apenas a velocidade de descompressão é testada no artigo.

Brotli tem12 níveis de compressão, de 0 a 11, onde 0 fornece a velocidade de compressão mais rápida, mas a menor taxa de compressão, enquanto 11 proporciona a maior taxa de compressão, mas exige mais recursos computacionais e tempo. Quando implementamos o Brotli pela primeira vez há 5 anos, determinamos que a compressão em 4 níveis proporcionava um equilíbrio entre economia de bytes e tempo de compressão sem comprometer o desempenho. Quanto maior o nível de compressão, menor o espaço de armazenamento, mas isso vende mais recursos de CPU e memória.

ASP.NET algoritmo Brotli já está incorporado ao núcleo e não requer referência a pacotes de terceiros. (Este artigo se referirá ao pacote de terceiros: BrotliSharpLib e ao embutido para comparação), a configuração é a seguinte:


ASP.NET Fluxo principal de chamadas de compressão Brotli: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.



O código de enumeração do nível de compressão é o seguinte:

Crie um novo projeto de console .NET 6 com o seguinte código de benchmark:


Os resultados dos testes são os seguintes:



Testei um arquivo de 503kb e, após a compressão, não houve muita diferença, tudo em torno de 400kb, e descobri que a velocidade de descompressão do Gzip ainda era mais rápida que a do Brotli, que deveria ser a mesmaTamanho do arquivo, . Versão da rede, nível de compressão, conteúdo do arquivo, etcEm resumo, é melhor escolher a cena que melhor se encaixa para você.

Se você encontrar um erro assim:

Ambiente
  Resumo -> Código de saída de erro detectado em um dos benchmarks. Pode ser causado pelo seguinte software antivírus:
        - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe)
        - Windows Defender (windowsdefender://)
Use InProcessEmitToolchain ou InProcessNoEmitToolchain para evitar a criação de novos processos.
solução

ou
(Fim)





Anterior:[Virar]. O NET usa o Brotli para comprimir e descomprimir dados
Próximo:EF6 Required permite strings vazias, mas não nulidades
 Senhorio| Publicado em 17/09/2023 10:46:46 |

asp.net core 3.1 habilita o algoritmo de compressão do site Brotli
https://www.itsvse.com/thread-9532-1-1.html

.net/c# Compressão de dados GZipStream
https://www.itsvse.com/thread-4240-1-1.html




 Senhorio| Publicado em 17/09/2023 10:48:01 |
[Virar]. O NET usa o Brotli para comprimir e descomprimir dados
https://www.itsvse.com/thread-10662-1-1.html
 Senhorio| Publicado em 07/01/2025 10:18:37 |
【Zip】. NET/C# usa o System.IO.Compression embutido para comprimir e descomprimir
https://www.itsvse.com/thread-10912-1-1.html
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com