Zstandard
C-bibliotheek voor krachtige en snelle compressie
Bereik snelle realtime Krachtige compressie en decompressie via Open Source C Library
Zstandard is een open source C-compressiebibliotheek die een krachtig en snel algoritme biedt voor hoge compressieverhoudingen binnen C-toepassingen. De bibliotheek biedt een zeer breed snelheidsbereik en is beschikbaar onder een dubbele BSD- en GPLv2-licentie. De bibliotheek ondersteunt de woordenboekcompressiemodus, wat erg handig is voor kleine gegevenscompressie.
De Zstandard-bibliotheek is gericht op realtime compressiescenario's op zlib-niveau en betere compressieverhoudingen. De bibliotheek ondersteunt normale compressieniveaus van 1 tot 22. Houd er rekening mee dat niveaus 20 en hoger met zorg moeten worden gebruikt, aangezien er veel meer geheugen nodig is voor soepel werken.
De API is zeer stabiel, goed gedocumenteerd en zeer eenvoudig te hanteren. Het bevat ondersteuning voor verschillende belangrijke functies met betrekking tot compressie en decompressie, streamingcompressie en decompressie, woordenboekhulpfuncties, framegrootte, beter geheugenbeheer. De bibliotheek ondersteunt ook geavanceerde functies voor compressie en decompressie, bufferloze en synchrone interne streamingfuncties, bufferloze streamingcompressie en decompressie (synchrone modus).
Aan de slag met Zstandard
De aanbevolen manier om Zstandard te installeren is vanaf GitHub, gebruik de volgende opdracht voor een vlotte installatie.
Installeer de Zstandard-bibliotheek via GitHub
gh repo clone facebook/zstd
Compressie en decompressie via C API
De open source bibliotheek Zstandard heeft verschillende belangrijke functies voor compressie en decompressie opgenomen. De bibliotheek biedt compressie- en decompressiefuncties in het geheugen. Het biedt verschillende compressieniveaus die de voorkeuren voor snelheid en verhouding uitbreiden. U kunt eenvoudig een enkel bestand comprimeren of decomprimeren, evenals meerdere bestanden in een enkele opdracht. Met de nieuwe release is de decompressiesnelheid verder verbeterd.
Compressie en decompressie met meerdere threads via C API
Er zijn verschillende compressiebibliotheken die single-threaded zijn, wat betekent dat gebruikers een ander stuk software moeten vertrouwen of hun eigen multi-threaded code moeten schrijven. De open source-bibliotheek Zstandard heeft functies opgenomen waarmee een compressiebewerking meerdere threads kan gebruiken met behulp van C-opdrachten. Het mooie is dat het compressieproces kan overschakelen naar multi-threaded API en dat het decompressieproces geen speciale behandeling vereist.
Compressie en decompressie van kleine gegevens
Gewoonlijk is gebleken dat het altijd erg moeilijk is om een kleinere hoeveelheid gegevens te comprimeren of te decomprimeren. Het is een veel voorkomend probleem waarmee de meeste compressieprogramma's worden geconfronteerd. De Zstandard-bibliotheek heeft dit verbeterd door een trainingsmodus aan te bieden waarmee gebruikers een geselecteerd type gegevens kunnen kiezen. Er worden dus weinig samples gebruikt met een kleine hoeveelheid gegevens in de trainingsmodule om het programma af te stemmen. Het resultaat van de trainingsmodule wordt opgeslagen in een bestand dat het woordenboek wordt genoemd en dat in de toekomst wordt gebruikt vóór compressie en decompressie. Er is waargenomen dat het compressie-algoritme leert van gegevens uit het verleden en hoe toekomstige gegevens kunnen worden gecomprimeerd. Dus door gebruik te maken van het woordenboekconcept is de compressie- en decompressieverhouding voor kleine gegevens aanzienlijk verbeterd.