Explore o conteúdo

O que você procura?

Pesquise por assunto, palavra ou título.

Performance e Ferramentas do Dev

Misa77: codec que promete descompressão mais rápida que o LZ4

Conheça o misa77, novo codec de compressão que promete descompressão 2x mais rápida que LZ4 com melhores taxas de compressão.

Thiago2 min de leitura

Atualizado em 3 de outubro de 2026

⏱ 3 min de leitura
Neste artigo
  1. O que o README promete
  2. Os números publicados
  3. Estado do projeto
  4. O que não está documentado

O misa77 é um codec de compressão baseado em LZ, escrito em C++ e licenciado em MIT. Ele foi desenhado para o caso “escreve uma vez, lê muitas”: você comprime raramente e descomprime o tempo todo. O próprio README admite a troca, que é compressão lenta.

O que o README promete

Os objetivos listados são descompressão com vazão extremamente alta em uma única thread, taxas de compressão modestas (o LZ4 em níveis altos serve de referência) e uso de memória constante na compressão, qualquer que seja o tamanho da entrada. A frase de efeito é que ele descomprime de 1,5x a 3x mais rápido que o LZ4 em x86 e ARM, “com taxas melhores”.

Os números publicados

O corpus é o Silesia, e as medições são do próprio autor. No nível 1, num Intel Core i7-14650HX a 2,2 GHz com uma thread, o misa77 descomprime a 5.376 MB/s com taxa de 42,64%. O LZ4, na mesma máquina, faz 2.514 MB/s com 47,59%, o que dá cerca de 2,1x. Num Apple M3, o misa77 chega a 12.638 MB/s contra 5.195 MB/s do LZ4, cerca de 2,4x. Aqui a taxa é o tamanho final em relação ao original, então menor é melhor.

A compressão é bem mais lenta: no nível 1, 54,2 MB/s no Intel. Os níveis -1 e 0 comprimem mais rápido, com pior taxa. São seis níveis, de -1 a 4.

Estado do projeto

O README avisa que o formato “pode mudar inesperadamente”, porque o projeto ainda está na versão 0.x.y. Há um descompressor seguro para os níveis -1 a 3, e o nível 4 não tem. O código passou por fuzzing local com ASan e UBSan, e o endurecimento mais amplo continua em andamento. Para compilar, precisa de C++20 (GCC ou Clang), CMake 3.20 ou mais novo e um sistema 64-bit little-endian.

O que não está documentado

O README não compara uso de memória com o LZ4, não fala de compressão multithread e não dá recomendação de uso em produção. Uma versão anterior deste post citava comentários do Hacker News sobre desempenho em Graviton 4, que eu não consegui confirmar, então saíram. Para qualquer decisão real, vale rodar o benchmark nos seus dados e na sua CPU, e esperar o formato estabilizar antes de gravar arquivos que precisem durar.

Se performance de baixo nível é o seu assunto, veja também o scriptc, que compila TypeScript para binário nativo e o texto sobre computação incremental.

Compartilhe conhecimento

Este conteúdo foi útil para você?

Envie para alguém que também pode aproveitar.

Conteúdo recomendado

Continue explorando