Developer Toolbox

Brotli

Lihat apa yang dilakukan Brotli melebihi gzip: kamus bawaan berisi kata umum, jendela yang lebih besar, dan level kualitas yang menukar waktu dengan ukuran.

  • Jendela: hingga 16 MB
  • Kamus: 122 KB
  • Kualitas: 0-11
  • Kode bergantung konteks
Apa artinya?
  • Kamus bawaan: sekitar 13.500 kata yang dikenal setiap decoder Brotli, sehingga encoder bisa merujuk sebuah kata lewat nomornya.
  • Kualitas: pengaturan usaha Brotli dari 0 sampai 11. Level yang lebih tinggi mencari lebih keras demi beberapa persen lebih kecil, dengan biaya berkali-kali lipat.
  • Pemodelan konteks: memilih tabel kode berdasarkan apa yang muncul tepat sebelumnya, karena karakter yang mengikuti huruf berbeda dengan yang mengikuti angka atau spasi.
  • Jendela: seberapa jauh ke belakang kompresor boleh mencari pengulangan. 32 KB di gzip, hingga 16 MB di Brotli.

Kata dari kamus Brotli

Tempel teks apa saja. Kata yang ada di kamus Brotli akan ditandai, dan batang membandingkan 300 byte pertama, tempat kamus paling berpengaruh, dengan seluruh teks.

Masukan

Memuat...

Coba ini: Muat halaman HTML pendek. Pada beberapa ratus byte, kamus yang menentukan hasilnya, dan Brotli unggul jauh dari gzip.

Kualitas, ukuran, dan waktu

Teks yang sama di setiap kualitas. Sampai 4-6, ukuran turun cepat sementara waktu hampir tidak berubah; 10 dan 11 memberi beberapa persen lagi dengan kerja berkali-kali lipat.

Memuat...

Bedanya dengan gzip

Jendela hingga 16 MB

gzip hanya menyalin dari 32 KB terakhir. Brotli menjangkau jauh lebih ke belakang, sehingga dalam file besar ia menemukan pengulangan yang sudah tidak terlihat oleh gzip.

Kode yang bergantung pada konteks

Karakter yang sama bisa mendapat kode berbeda tergantung dua byte sebelumnya. Setelah huruf, karakter yang mungkin muncul berbeda dengan setelah angka atau spasi.

Kamus sejak awal

gzip harus menulis kemunculan pertama setiap kata sebagai literal. Brotli bisa merujuk ke kamus bawaannya, itulah sebabnya keuntungannya paling besar pada file kecil.

Cara kerjanya

Brotli memakai dua gagasan yang sama dengan gzip, yaitu salinan teks sebelumnya dan kode Huffman, lalu menambahkan tiga lagi. Jendelanya mencapai 16 MB, bukan 32 KB, sehingga ia bisa menemukan pengulangan yang letaknya jauh di belakang dalam file besar. Kodenya bergantung pada konteks byte sebelumnya. Selain itu, ia membawa kamus berisi sekitar 13.500 kata yang umum di halaman web dan kode, sehingga kemunculan pertama kata seperti class atau function pun bisa menjadi rujukan pendek.

Kapan ini pilihan yang tepat

Brotli membuat teks 15-25% lebih kecil daripada gzip, terutama pada file kecil, tempat kamus bekerja paling banyak. Semua browser saat ini menerimanya lewat HTTPS. Kompresi file statis sebelumnya dengan kualitas 11 dan respons dinamis secara langsung dengan kualitas 4-6, yang kecepatannya kurang lebih sama dengan gzip.