Brotli es una librería de compresión de datos de código abierto desarrollada por Jyrki Alakuijala y Zoltán Szabadka.[1][2] Brotli está basado en una variante moderna del algoritmo LZ77, codificación Huffman y modelado de contexto de segundo orden.
Puede ser usado para acelerar la navegación por sitios webs en Chrome o Firefox.[3] Así como zopfli, otro algoritmo de compresión de Google, brotli está nombrado por un tipo de pastel suizo, brötli.[4]
Historia
Brotli fue inicialmente lanzado en 2015 para la compresión de tipografía web.[5] La versión liberada en septiembre de 2015 contenían mejoras en la compresión de datos sin pérdida, con un énfasis particular en la compresión HTTP. El codificador fue parcialmente reescrito, con el resultado que se mejoró la tasa de compresión, se aceleró el proceso de compresión y descompresión, la API de streaming fue mejorada, y se añadieron nuevos niveles de compresión. Adicionalmente, la nueva versión mostró mejoras en varias plataformas debido a la reducción de uso de memoria para la descompresión.[4]
A diferencia de la mayoría de los algoritmos de compresión, Brotli usa un diccionario predefinido de 120 kilobytes. El diccionario posee sobre 13 mil palabras comunes, frases y otros trozos de texto derivados de grandes cantidades de textos y documentos HTML.[6][7] Un algoritmo predefinido puede mejorar la densidad en la compresión para archivos pequeños.
Al reemplazar deflate, la densidad de compresión con Brotli dio una mejora del 20% para los archivos de texto, sin que se vea afectado el tiempo de compresión y descompresión. Los streams comprimidos con Brotli tiene el tipo de codificación de contenido propuesto como "br".
Aplicaciones y servicios que soportan Brotli
- Navegadores de internet
- Mozilla Firefox implementó Brotli en la versión 44.[8][9]
- Google Chrome implementó Brotli a partir de la versión 49.
Referencias
- ↑ «Brotli Compressed Data Format». IETF Internet Drafts. 16 de mayo de 2014. (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
- ↑ «Brotli Source Code». Github.
- ↑ Slater-Robbins, Max (20 de enero de 2016). «Chrome and Firefox are about to get a lot faster thanks to Google's new data compression algorithm». techspot.com. Consultado el 20 de enero de 2016.
- ↑ a b Google Open Source Blog: Introducing Brotli: a new compression algorithm for the internet
- ↑ «Smaller Fonts with WOFF 2.0 and unicode-range». Google Developers Blog. 18 de febrero de 2015. Consultado el 20 de enero de 2016.
- ↑ Richard Chirgwin (23 de septiembre de 2015). «Google's new squeeze: Brotli compression open-sourced». The Register.
- ↑ Alakuijala, Jyrki; Kliuchnikov, Evgenii; Szabadka, Zoltan; Vandevenne, Lode (22 de septiembre de 2015). «Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms». Google. Consultado el 25 de octubre de 2015.
- ↑ «Firefox 44 release notes». mozilla.org. Consultado el 26 de enero de 2016.
- ↑ «Can I use... Support tables for HTML5, CSS3, etc». caniuse.com. Consultado el 7 de enero de 2016.