Pesquisa de sites

Algoritmo de Compressão Sem Perdas LZ4 1.10 Lançado


Algoritmo de compressão LZ4 1.10 lançado com multithreading, melhorando dramaticamente as velocidades de compressão em até 8 vezes.

LZ4, um algoritmo de compressão open-source multiplataforma amplamente utilizado, conhecido pela sua velocidade e eficiência, acaba de atingir a versão 1.10.

Esta última atualização introduz melhorias significativas, especialmente o suporte a multithreading, que aproveita os processadores modernos de múltiplos núcleos para acelerar tarefas de compressão e descompressão em ambientes de alto rendimento.

Para aqueles que possam não saber, o LZ4 é especialmente apreciado quando a velocidade é priorizada em detrimento da taxa de compressão, como em transmissões contínuas ou aplicações em tempo real.

Novidades no LZ4 1.10

Até agora, o LZ4 tem funcionado principalmente como um processo de um único thread. No entanto, a versão 1.10 muda isso completamente.

LZ4 Multithreading: Um Marco

A principal característica do LZ4 1.10 é a sua capacidade de multithreading. Ao permitir que múltiplos threads processem dados simultaneamente, o LZ4 reduz significativamente o tempo necessário para comprimir e descomprimir ficheiros grandes.

Isto é particularmente benéfico quando se utilizam modos de alta compressão, que geralmente exigem mais do CPU. Os benchmarks mais recentes ilustram vividamente as melhorias em diferentes sistemas operativos:

  • No Windows 11, utilizando um CPU AMD 7840HS, o tempo de compressão melhorou de 13,4 segundos para apenas 1,8 segundos—um aumento de velocidade de 7,4 vezes.
  • Os utilizadores de 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 utilizadores de Linux num i7-9700k, o tempo de compressão foi reduzido de 16,2 segundos para 3,05 segundos, atingindo um aumento de velocidade de 5,4 vezes.

Estas melhorias não se limitam apenas à compressão. A descompressão também beneficia do multithreading, embora num grau menor, pois os discos NVMe modernos ainda podem ser saturados com um único thread.

No entanto, a sobreposição das operações de I/O com os processos de descompressão aumenta ainda mais o desempenho.

Compressão de Dicionário Aprimorada

Outra melhoria significativa no LZ4 1.10 é o suporte oficial para compressão e descompressão com dicionário, que passou de experimental para totalmente suportado.

Isto permite aos programadores usar o LZ4 de forma mais fiável em aplicações que beneficiam de técnicas de dicionário, como transferências de dados pequenas em que a inicialização pode ser um obstáculo.

Novo Nível de Compressão e Outras Melhorias

O LZ4 1.10 introduz uma nova opção de compressão "Nível 2", que equilibra desempenho e taxa de compressão, proporcionando uma solução otimizada para muitas aplicações.

Além disso, a atualização inclui várias melhorias, tais como melhor suporte à plataforma, maior robustez no tratamento de erros e configuração mais flexível através de variáveis de ambiente.

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

Para uma análise detalhada de todas as novidades no LZ4 1.10, consulte o registo de alterações completo.