# Parolin ## Descrição do Projeto O **Parolin** é um motor (engine) de compressão e descompressão de dados em hiperescala, desenvolvido nativamente para sistemas Linux. O projeto foi projetado especificamente para extrair a máxima performance de hardwares modernos de alta densidade, escalando de forma linear em ambientes de até 512 threads para gzip3 e 128 para zstd3 concorrentes. O sistema encapsula e otimiza os 2 principais algoritmos de compressão da indústria, mapeando-os para cenários de uso especÃficos: * **zlib:** * **zstd:** ## Para Que Serve? Em servidores modernos com arquiteturas de hardware massivas, ferramentas tradicionais de compressão paralela entram em colapso devido ao overhead de gerenciamento de threads, colisões em travas de memória (mutexes) e penalidades de latência de barramento (NUMA). O **Parolin** resolve este gargalo através de engenharia de software de baixo nÃvel, servindo para: 1. **Saturação Eficiente de Hardware:** Garantir escalabilidade linear real em processadores de alta contagem de núcleos (até 512 threads par gzip3 e 128 para zstd3), eliminando o desperdÃcio de ciclos de CPU. 2. **Processamento de Dados em Massa:** Comprimir e descompressar grandes volumes de dados em tempo recorde para pipelines de automação, backups e sistemas de arquivos de alta performance. 3. **Arquitetura Livre de Travas (Lock-Free):** Substituir travas pesadas do sistema operacional por contadores atômicos de hardware e técnicas de *Lock Striping*, pulverizando a disputa por barramento. ## Diferenciais Técnicos * **Afinidade de CPU (NUMA-Aware):** Fixação estrita de threads em núcleos fÃsicos para manter os caches L1/L2/L3 aquecidos e eliminar a migração de contexto entre nós de memória. * **Balanceamento por Compartimentos:** Distribuição de carga agnóstica através de múltiplos controladores independentes, mitigando o problema de desbalanceamento de cauda. * **Gerenciamento Dinâmico Passivo:** Mecanismo de recuo para impedir que threads ociosas consumam processamento desnecessário por *spin-locks* no fim do arquivo. * **Dependências Externas Puras:** Código-fonte limpo que faz linkagem direta com as bibliotecas nativas do sistema operacional (`zlib1g-dev`), garantindo otimização máxima direto no silÃcio. ## Importante Foi adicionado dois modos de execução do gzip3 um usando Adler32 e outro usando DS64 cada um na sua pasta, o checksum DS64 desenvolvido pelo Copilot é 20x mais rapido que Adler32, mas observe isto não quer dizer que o gzip3 vai rodar muito mais rapido porque o gargalo esta no zboib, ok, veja nos diretórios as mudanças. ## Versão Final Após extensivos testes de desempenho e estabilidade, decidimos que a versão **7.4.0** do Gzip3/Zstd3 será a **release final oficial**. As versões 7.5.0 e 7.6.0 foram descartadas por apresentarem regressões de performance em relação à 7.4.0. Portanto, a 7.4.0 deve ser considerada a base estável para uso em produção e futuras otimizações externas. ## Licença Este projeto é um software livre e de código aberto licenciado sob a **GNU General Public License v3.0 (GPLv3)**. ```text Copyright (C) 2026, AR Software. Este programa é um software livre; você pode redistribuÃ-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; tanto a versão 3 da Licença, ou (a seu critério) qualquer versão posterior. Este programa é distribuÃdo na expectativa de que seja útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implÃcita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO PARTICULAR. Veja a Licença Pública Geral GNU para mais detalhes. ```