Projekti Pack bëri përpjekjen për të krijuar një format për arkivimin e skedarëve, i ndërtuar mbi bibliotekën SQLite dhe algoritmin e kompresimit ZSTD (Zstandard). Prototipi i përgatitur, i shkruar në gjuhën Pascal dhe i shpërndarë nën licencën Apache 2.0, e kaloi në shpejtësi krijimin e arkivave arkivatorët më të zakonshëm, ndërsa funksionimi i tij përfshinte leximin e të dhënave, kompresimin nga biblioteka libzstd dhe ekzekutimin e operacioneve SQL për të shtuar të dhënat e kompresuara në skedarin me DB SQLite.
Gjatë kompresimit të një katalogu me 81 mijë skedarë, me një madhësi totale prej 1.25 GB, pack ishte 112 herë më i shpejtë se utilitari ZIP, duke e kryer operacionin në 1.3 sekonda në krahasim me 146 sekonda të ZIP. Madhësia e arkivit të krijuar me pack ishte 23% më e vogël (194 MB për Pack dhe 253 MB për ZIP). Për krahasim, utilitari tar e realizoi paketimin në 4.7 sekonda pa kompresim dhe në 28.5 sekonda me metodën gzip, arkivatori RAR u mor me testin në 27.5 sekonda, ndërsa 7z në 54.2 sekonda. Madhësitë e arkivave ishin: tar.gz — 214 MB, RAR — 235 MB, 7z — 135 MB. Vërehet se në shpejtësinë e shpërbërjes dhe aksesin rastësor në skedarë, Pack gjithashtu e kalon arkivatorët e tjerë, duke konsumuar më pak memorie operative.
Nuk përmendet ndikimi i caches skedarëve në rezultatet e testit. Ndoshta, shpejtësia e ulët e ZIP është për shkak të rendit të ekzekutimit të testeve pa marrë parasysh ruajtjen e të dhënave në memorie — testi me zip u ekzekutua me cache të ftohtë, ndërsa testet e tjera me cache të ngrohtë. Në kushte normale, Zstandard tregon një shpejtësi kompresimi 3-5 herë më të lartë në krahasim me zlib dhe dy herë më të shpejtë në shpërbërje, me një nivel kompresimi më të lartë me 10-15%.
Shtesë: Një ide e ngjashme për ruajtjen e skedarëve të kompresuar si blob në DB SQLite u realizua në 2014 në arkivatorin sqlar, të krijuar nga zhvilluesit e SQLite si një eksperiment për të vlerësuar efikasitetin e ruajtjes së blob-eve në SQLite. Në sqlar, për kompresimin përdoret zlib dhe madhësitë e skedarëve janë rreth 2% më të mëdha se ato të utilitarit ZIP.
Burimi: opennet.ru
