Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3487|Atbildi: 3

[Avots] .NET 6 pārbauda Gzip un Brotli algoritmus

[Kopēt saiti]
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 datus
Nākamo:EF6 Obligāti pieļauj tukšas virknes, bet ne anulēšanu
 Saimnieks| Publicēts 17.09.2023 10:46:46 |

asp.net core 3.1 iespējo vietnes Brotli saspiešanas algoritmu
https://www.itsvse.com/thread-9532-1-1.html

.net/c# GZipStream datu saspiešana
https://www.itsvse.com/thread-4240-1-1.html




 Saimnieks| Publicēts 17.09.2023 10:48:01 |
[Pagrieziens]. NET izmanto Brotli, lai saspiestu un atspiestu datus
https://www.itsvse.com/thread-10662-1-1.html
 Saimnieks| Publicēts 07.01.2025 10:18:37 |
【rāvējslēdzējs】. NET/C# izmanto iebūvēto System.IO.Compression, lai saspiestu un atspiestu
https://www.itsvse.com/thread-10912-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com