JSPaste / Backend

JSPaste Backend (API)
European Union Public License 1.2
4 stars 1 forks source link

Modificar los parametros de compresion de brotli #146

Open Mrgaton opened 1 month ago

Mrgaton commented 1 month ago

Estaría bien poder detectar el tipo de documento que se sube para poder especificar en brotli que use 'BROTLI_MODE_TEXT' para mejorar el ratio de compresión, también estaría bien poder incrementar un poco el tamaño del diccionario para tener mejor ratio en documentos grandes.

const options = {
  params: {
    [zlib.constants.BROTLI_PARAM_MODE]: zlib.constants.BROTLI_MODE_TEXT, // 0 = generic, 1 = text, 2 = font (WOFF2)
    [zlib.constants.BROTLI_PARAM_QUALITY]: 11,
    [zlib.constants.BROTLI_PARAM_LGWIN]: 64 // window size
  }
};
Mrgaton commented 1 month ago

No sé si consumiría mucho ir byte por byte en el documento para afirmar si es texto y no otro tipo de binario pero sí no se podría usar el content type sino.

inetol commented 1 month ago

No sabía que la implementación de Brotli en Bun permitiese configurar su compresor, pero sí es así creo que será posible mejorar el uso de CPU en ficheros grandes.