Brotli
Brotli'nin gzip'ten fazla neler yaptığını görün: yaygın sözcüklerden oluşan yerleşik bir sözlük, daha büyük bir pencere ve süreyle boyutu takas eden kalite seviyeleri.
- Pencere: en fazla 16 MB
- Sözlük: 122 KB
- Kalite: 0-11
- Kodlar bağlama göre değişir
Bunlar ne demek?
- Yerleşik sözlük: her Brotli kod çözücüsünün bildiği yaklaşık 13.500 sözcük; böylece kodlayıcı bir sözcüğe numarasıyla başvurabilir.
- Kalite: Brotli'nin 0'dan 11'e çaba ayarı. Yüksek seviyeler birkaç yüzde daha az için daha çok arar ve bunun maliyeti kat kat fazladır.
- Bağlam modellemesi: kod tablosunu hemen önce gelene göre seçmek, çünkü bir harften sonra bir rakamdan ya da boşluktan sonrakinden farklı karakterler gelir.
- Pencere: sıkıştırıcının bir tekrar için ne kadar geriye bakabileceği. gzip'te 32 KB, Brotli'de 16 MB'a kadar.
Brotli sözlüğündeki sözcükler
Herhangi bir metin yapıştırın. Brotli sözlüğünde bulunan sözcükler işaretlenir; çubuklar, sözlüğün en çok işe yaradığı ilk 300 baytı metnin tamamıyla karşılaştırır.
Yükleniyor...
Şunu deneyin: Kısa bir HTML sayfası yükleyin. Birkaç yüz baytta sonucu sözlük belirler ve Brotli gzip'in açıkça önüne geçer.
Kalite, boyut ve süre
Aynı metin, her kalite seviyesinde. 4-6'ya kadar boyut hızla düşer, süre ise neredeyse değişmez; 10 ve 11, kat kat fazla iş karşılığında birkaç yüzde daha kazandırır.
Yükleniyor...
gzip'ten farkı
16 MB'a kadar pencere
gzip yalnızca son 32 KB'tan kopyalar. Brotli çok daha geriye uzanır, bu yüzden büyük bir dosyada gzip'in artık göremediği tekrarları bulur.
Bağlama göre değişen kodlar
Aynı karakter, kendinden önceki iki bayta göre farklı bir kod alabilir. Bir harften sonra, bir rakamdan ya da boşluktan sonrakinden farklı karakterler gelmesi olasıdır.
Baştan gelen bir sözlük
gzip her sözcüğün ilk geçişini literal olarak yazmak zorundadır. Brotli ise bunun yerine yerleşik sözlüğüne başvurabilir; en çok küçük dosyalarda kazanmasının nedeni budur.
Nasıl çalışır
Brotli, gzip'in iki fikrini (önceki metnin kopyaları ve Huffman kodları) kullanır ve üç tane daha ekler. Penceresi 32 KB yerine 16 MB'a ulaşır, bu yüzden büyük bir dosyada çok gerideki tekrarları bulur. Kodları önceki baytların bağlamına göre değişir. Ayrıca web sayfalarında ve kodda yaygın olan yaklaşık 13.500 sözcükten oluşan bir sözlükle gelir; böylece class veya function gibi bir sözcüğün ilk geçişi bile kısa bir referans olabilir.
Ne zaman iyi bir seçimdir
Brotli metni gzip'ten %15-25 daha küçük yapar; en çok da işi sözlüğün yaptığı küçük dosyalarda. Güncel tarayıcıların hepsi onu HTTPS üzerinden kabul eder. Statik dosyaları önceden kalite 11 ile, dinamik yanıtları ise anında 4-6 ile sıkıştırın; bu seviyelerde gzip kadar hızlıdır.