Facebook sfrutta Zstandard, conosciuto anche come zstd, per eseguire le operazioni di real-time data compression. zstd è un algoritmo di compressione di tipo lossless, dunque opera senza causare perdite di dati e senza intaccare la qualità del rendering. Scritto in C e distribuito sotto licenza open source, il progetto è in pratica una reimplementazione di un altro algoritmo precedentemente scritto in Java.

zstd offre un ottimo compromesso tra velocità di compressione e compression ratio, dunque è in grado di comprimere elevate quantità di dati in un tempo relativamente breve. E' efficace in paerticolare nella small data compression o dictionary compression, può infatti generare dei dizionari tramite i dataset gestiti. Inoltre può lavorare senza problemi con i formati .zst, .gz, .xz e .lz4.

zstd

zstd ha anche una ricca collezione di API che gli permettono di operare con vari linguaggi e framework come Python, Java, JavaScript, NodeJS, Perl, Ruby, C#, Go, Rust, PHP e Swift. L'algoritmo può essere sfruttato per comprimere volumi di dati anche importanti in formati multipli, Facebook lo sfrutta proprio in questi contesti, cosi da minimizzare l'impatto dell'elaborazione dati all'interno della propria infrastruttura software.

zstd

È possibile sfruttare zstd anche sul proprio PC compilando il codice sorgente su Linux. Prima di tutto installiamo qualche tool utile:

sudo apt update && sudo apt install build-essential

e adesso scarichiamo il sorgente ed iniziamo a compilare:

cd ~/Downloads
git clone https://github.com/facebook/zstd.git
cd zstd
make
sudo make install 

Una volta terminata l'installazione possiamo iniziare a comprimere i file:

zstd filediprova.mp4

mentre per decomprimerlo lanceremo l'istruzione:

unzstd filediprova.mp4

Via zstd

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *