|
|
Publicēts 17.09.2023 10:45:34
|
|
|
|

Prasības: HTTP tagad pievieno Brotli saspiešanas algoritmu, lai pārbaudītu Gzip un Brotli algoritmus. Atkarībā no projekta rakstā tiek pārbaudīts tikai dekompresijas ātrums.
Brotli ir12 saspiešanas līmeņi, no 0 līdz 11, kur 0 nodrošina ātrāko saspiešanas ātrumu, bet zemāko saspiešanas pakāpi, savukārt 11 nodrošina visaugstāko saspiešanas pakāpi, bet prasa vairāk skaitļošanas resursu un laika. Kad mēs pirmo reizi ieviesām Brotli pirms 5 gadiem, mēs konstatējām, ka 4 līmeņu saspiešana nodrošina baitu ietaupījumu un saspiešanas laika līdzsvaru, neapdraudot veiktspēju. Jo augstāks saspiešanas līmenis, jo mazāks nospiedums, bet tas pārdod vairāk CPU un atmiņas resursu.
ASP.NET Brotli algoritms jau ir iebūvēts kodolā, un tam nav nepieciešama atsauce uz trešo pušu pakotnēm. (Šis raksts attieksies uz trešās puses paketi: BrotliSharpLib un iebūvēto salīdzinājumam), konfigurācija ir šāda:
ASP.NET Core Brotli saspiešanas zvanu plūsma: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.
Kompresijas līmeņa uzskaites kods ir šāds:
Izveidojiet jaunu .NET 6 konsoles projektu ar šādu etalona kodu:
Testa rezultāti ir šādi:
Es pārbaudīju 503 kb failu, un pēc saspiešanas nebija lielas atšķirības, visi ap 400 kb, un izrādījās, ka Gzip dekompresijas ātrums joprojām bija ātrāks nekā Brotli, kam vajadzētu būt tādam pašamfaila lielums, . NET versija, saspiešanas līmenis, faila saturs uttĪsāk sakot, vislabāk ir izvēlēties sev piemērotāko ainu.
Ja rodas šāda kļūda:
Vide Kopsavilkums -> Konstatēts kļūdas izejas kods no viena no etaloniem. To var izraisīt šāda pretvīrusu programmatūra: - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe) - Windows Defender (windowsdefender://) Izmantojiet InProcessEmitToolchain vai InProcessNoEmitToolchain, lai izvairītos no jaunu procesu izveides. šķīdums
vai
(Beigas)
|
Iepriekšējo:[Pagrieziens]. NET izmanto Brotli, lai saspiestu un atspiestu datusNākamo:EF6 Obligāti pieļauj tukšas virknes, bet ne anulēšanu
|