Požadavky: HTTP nyní přidává algoritmus komprese Brotli pro testování algoritmů Gzip a Brotli. V závislosti na projektu je v článku testována pouze rychlost dekomprese.
Brotli má12 úrovní komprese, od 0 do 11, kde 0 poskytuje nejrychlejší kompresní rychlost, ale nejnižší kompresní poměr, zatímco 11 poskytuje nejvyšší kompresní poměr, ale vyžaduje více výpočetních zdrojů a času. Když jsme Brotli před 5 lety poprvé implementovali, zjistili jsme, že čtyřúrovňová komprese poskytuje rovnováhu mezi úsporou bajtu a časem komprese bez kompromisů ve výkonu. Čím vyšší je úroveň komprese, tím menší je footprint, ale prodává se více CPU a paměťových zdrojů.
ASP.NET algoritmus Brotli je již zabudovaný v jádru a nevyžaduje odkazy na balíčky třetích stran. (Tento článek se bude odkazovat na balíček třetí strany: BrotliSharpLib a vestavěný pro srovnání), konfigurace je následující:
ASP.NET Tok volání komprese Core Brotli: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.
Kód pro enumeraci na úrovni komprese je následující:
Vytvořte nový .NET 6 konzolový projekt s následujícím benchmarkovým kódem:
Výsledky testu jsou následující:
Testoval jsem 503kb soubor a po kompresi nebyl velký rozdíl, vše kolem 400kb, a ukázalo se, že rychlost dekomprese Gzipu je stále vyšší než u Brotli, což by mělo být stejnévelikost souboru, . NET verzi, úroveň komprese, obsah souboru atdStručně řečeno, nejlepší je vybrat si scénu, která vám vyhovuje.
Pokud narazíte na podobnou chybu:
Životní prostředí Shrnutí -> Detekován chybový výstupní kód z jednoho z benchmarků. Může být způsobena následujícím antivirovým softwarem: - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe) - Windows Defender (windowsdefender://) Použijte InProcessEmitToolchain nebo InProcessNoEmitToolchain, abyste se vyhnuli vytváření nových procesů. řešení
nebo
(Konec)
|