Gereksinimler: HTTP artık Gzip ve Brotli algoritmalarını test etmek için bir Brotli sıkıştırma algoritması ekliyor. Projeye bağlı olarak, makalede sadece dekompresyon hızı test edilir.
Brotli'nin12 sıkıştırma seviyesi, 0'dan 11'e kadar olur; burada 0 en hızlı sıkıştırma hızını ancak en düşük sıkıştırma oranını sağlarken, 11 en yüksek sıkıştırma oranını sağlar ancak daha fazla hesaplama kaynağı ve zaman gerektirir. Brotli'yi ilk 5 yıl önce uyguladığımızda, 4 seviyeli sıkıştırmanın bayt tasarrufu ve sıkıştırma süresi arasında performanstan ödün vermeden denge sağladığını belirledik. Sıkıştırma seviyesi ne kadar yüksekse, ayak izi o kadar küçük, ama daha fazla CPU ve bellek kaynağı satıyor.
ASP.NET Brotli algoritması zaten çekirdeğin içine entegre edilmiştir ve üçüncü taraf paketlere referans gerektirmez. (Bu makalede karşılaştırma için üçüncü taraf paketi BrotliSharpLib ve yerleşik pakete atıfta bulunacak), yapılandırma şu şekildedir:
ASP.NET Core Brotli sıkıştırma çağrı akışı: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.
Sıkıştırma seviyesi sayım kodu aşağıdaki gibidir:
Aşağıdaki kıyaslama koduyla yeni bir .NET 6 konsol projesi oluşturun:
Test sonuçları aşağıdaki gibidir:
503kb dosyayı test ettim ve sıkıştırmadan sonra çok fazla fark yoktu, yaklaşık 400kb civarında, ve Gzip'in dekompresyon hızının Brotli'ninkinden hâlâ daha hızlı olduğu ortaya çıktı, ki Brotli'nin aynı olması gerekirdosya boyutu, . NET sürümü, sıkıştırma seviyesi, dosya içeriği vbKısacası, sana uygun sahneyi seçmek en iyisidir.
Böyle bir hata ile karşılaşırsanız:
Çevre Özet -> Benchmarklardan birinden hata çıkış kodu tespit edildi. Bunun nedeni aşağıdaki antivirüs yazılımlarından kaynaklanabilir: - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe) - Windows Defender (windowsdefender://) Yeni süreç oluşturulmasını önlemek için InProcessEmitToolchain veya InProcessNoEmitToolchain kullanın. çözüm
veya
(Son)
|