LZ4 1.10 lançado com multithreading

E foi lançado o LZ4 1.10 com multithreading, e muito mais. Confira as novidades dessa importante atualização.

LZ4 é um algoritmo de compressão de código aberto multiplataforma amplamente utilizado, conhecido por sua velocidade e eficiência. Ele é especialmente preferido quando a velocidade é priorizada em relação à taxa de compressão, como streaming ou aplicativos em tempo real.

O LZ4 é um algoritmo de compressão de dados sem perdas que oferece velocidade de compressão e descompressão extremamente rápida.

Ele apresenta um decodificador extremamente rápido, com velocidade de vários GB/s por núcleo, tipicamente atingindo os limites de velocidade de RAM em sistemas multi-core.

A velocidade pode ser ajustada dinamicamente, selecionando um fator de “aceleração” que troca a taxa de compressão por velocidade mais rápida.

Na outra ponta, um derivado de alta compressão, LZ4_HC, também é fornecido, trocando o tempo da CPU por uma taxa de compressão melhorada. Todas as versões apresentam a mesma velocidade de descompressão.

Agora, ele acaba de chegar à versão 1.10.

Novidades do LZ4 1.10

LZ4 1.10 lançado com multithreading
LZ4 1.10 lançado com multithreading

Sim. O algoritmo de compressão LZ4 1.10 lançado com multithreading, melhorando drasticamente as velocidades de compressão em até 8 vezes.

Esta atualização mais recente introduz melhorias significativas, especialmente suporte multithreading, que utiliza processadores multi-core modernos para acelerar tarefas de compactação e descompactação em ambientes de alto rendimento.

Até agora, o LZ4 operou principalmente como um processo de thread único. A versão 1.10, entretanto, muda isso completamente.

A característica principal do LZ4 1.10 é sua capacidade multithreading. Ao permitir que vários threads processem dados simultaneamente, o LZ4 reduz significativamente o tempo necessário para compactar e descompactar arquivos grandes.

Isso é particularmente benéfico ao usar modos de alta compactação, que geralmente exigem mais CPU. Os benchmarks mais recentes ilustram vividamente as melhorias em diferentes sistemas operacionais:

  • No Windows 11, usando uma CPU Intel 7840HS, o tempo de compactação melhorou de 13,4 segundos para apenas 1,8 segundos – um aumento de velocidade de 7,4 vezes.
  • Os usuários do macOS com o chip M1 Pro verão uma redução de 16,6 segundos para 2,55 segundos, um desempenho 6,5 vezes mais rápido.
  • Para usuários de Linux em um i7-9700k, o tempo de compactação foi reduzido de 16,2 segundos para 3,05 segundos, alcançando um aumento de velocidade de 5,4 vezes.

Essas melhorias não se limitam apenas à compactação. A descompressão também se beneficia do multithreading, embora em menor grau, já que as unidades nvme modernas ainda podem ser saturadas com um único thread.

No entanto, a sobreposição de operações de E/S com processos de descompressão melhora ainda mais o desempenho.

Outra atualização significativa no LZ4 1.10 é o suporte oficial para compactação e descompactação de dicionário, que passou de experimental para totalmente suportado.

Isso permite que os desenvolvedores usem o LZ4 de forma mais confiável em aplicações que se beneficiam de técnicas de dicionário, como pequenas transferências de dados onde a inicialização pode ser um gargalo.

LZ4 1.10 apresenta uma nova opção de compactação “Nível 2”, que equilibra desempenho e taxa de compactação, fornecendo uma solução ideal para muitas aplicações.

Além disso, a atualização inclui inúmeras melhorias, como melhor suporte à plataforma, melhor tratamento de erros e configuração mais flexível por meio de variáveis ​​de ambiente.

Por fim, a versão suporta arquiteturas menos conhecidas, como LoongArch, RISC-V e outras, garantindo a portabilidade do LZ4 em várias plataformas.

Para saber mais sobre essa versão do LZ4, acesse a nota de lançamento.

Como instalar ou atualizar o LZ4

Como o LZ4 não é algo que você pode instalar facilmente, pois ele faz parte do sistema, se sua distribuição utiliza ele, apenas mantenha seu sistema atualizado para receber a versão mais recente.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.