Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 3487|Antwoord: 3

[Bron] .NET 6 test Gzip- en Brotli-algoritmen

[Link kopiëren]
Geplaatst op 17-09-2023 10:45:34 | | | |
Vereisten: HTTP voegt nu een Brotli-compressie-algoritme toe om Gzip- en Brotli-algoritmen te testen. Afhankelijk van het project wordt in het artikel alleen de snelheid van decompressie getest.

Brotli heeft12 compressieniveaus, van 0 tot 11, waarbij 0 de snelste compressiesnelheid biedt maar de laagste compressieverhouding, terwijl 11 de hoogste compressieverhouding biedt maar meer rekenkracht en tijd vereist. Toen we Brotli vijf jaar geleden voor het eerst implementeerden, concludeerden we dat 4-niveau compressie een balans bood tussen bytebesparing en compressietijd zonder concessies te doen aan de prestaties. Hoe hoger het compressieniveau, hoe kleiner de footprint, maar het verkoopt meer CPU- en geheugenbronnen.

ASP.NET Brotli-algoritme is al ingebouwd in de kern en vereist geen verwijzing naar pakketten van derden. (Dit artikel verwijst naar het derde partij-pakket: BrotliSharpLib en het ingebouwde pakket ter vergelijking), de configuratie is als volgt:


ASP.NET Core Brotli compressie-aanroepstroom: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.



De compressieniveau enumeratiecode is als volgt:

Maak een nieuw .NET 6-consoleproject aan met de volgende benchmarkcode:


De testresultaten zijn als volgt:



Ik testte een bestand van 503kb, en na compressie was er weinig verschil, allemaal rond de 400kb, en bleek dat de decompressiesnelheid van Gzip nog steeds sneller was dan die van Brotli, wat hetzelfde zou moeten zijnbestandsgrootte, . NET-versie, compressieniveau, bestandsinhoud, enzovoortKortom, het is het beste om de scène te kiezen die bij jou past.

Als je zo'n fout tegenkomt:

Milieu
  Samenvatting -> Fout uit een van de benchmarks gedetecteerd. Het kan worden veroorzaakt door de volgende antivirussoftware:
        - 360 SafeGuard (C:\Programmabestanden (x86)\360\360Safe\safemon\360tray.exe)
        - Windows Defender (windowsdefender://)
Gebruik InProcessEmitToolchain of InProcessNoEmitToolchain om nieuwe procescreatie te voorkomen.
oplossing

of
(Einde)





Vorig:[Draai]. NET gebruikt Brotli om data te comprimeren en te decomprimeren
Volgend:EF6 Vereist staat lege strings toe, maar geen nulliteiten
 Huisbaas| Geplaatst op 17-09-2023 10:46:46 |

asp.net core 3.1 maakt het compressie-algoritme van de website Brotli mogelijk
https://www.itsvse.com/thread-9532-1-1.html

.net/c# GZipStream datacompressie
https://www.itsvse.com/thread-4240-1-1.html




 Huisbaas| Geplaatst op 17-09-2023 10:48:01 |
[Draai]. NET gebruikt Brotli om data te comprimeren en te decomprimeren
https://www.itsvse.com/thread-10662-1-1.html
 Huisbaas| Geplaatst op 07-01-2025 10:18:37 |
【zip】. NET/C# gebruikt ingebouwde System.IO.Compression om te comprimeren en te decomprimeren
https://www.itsvse.com/thread-10912-1-1.html
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com