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
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.