Pack projekti kĂ€ivitas katse luua SQLite'i teegi ja ZSTD (Zstandard) tihendusalgoritmi pĂ”hjal failide arhiivimise formaat. Valmis prototĂŒĂŒp, mis on kirjutatud Pascal keeles ja levitatakse Apache 2.0 litsentsi alusel, ĂŒletas arhiivide loomise kiiruselt kĂ”ige levinumaid arhiivereid, samas kui selle töö piirdus andmete lugemise, libzstd raamatukoguga tihendamise ning SQL-operatsioonide teostamisega tihendatud andmete lisamiseks SQLite andmebaasifaili.
81 000 faili mahutav kataloog, kokku 1,25 GB suurune, pakkus paremuse ZIP utiliidist 112 korda, tehes operatsiooni 1,3 sekundiga vĂ”rreldes ZIP-i 146 sekundiga. Paki arhiivi suurus jĂ€i 23% vĂ€iksemaks (194 MB Packis ja 253 MB ZIP-is). VĂ”rdluseks: tar utiliit pakkis ilma tihendamiseta 4,7 sekundiga ja gzip meetodiga tihendades 28,5 sekundiga; RAR tegi testi 27,5 sekundiga ning 7z 54,2 sekundiga. Arhiivide suurused olid: tar.gz â 214 MB, RAR â 235 MB, 7z â 135 MB. TĂ”detakse, et Pack ĂŒletab teisi arhiivereid kiiruselt, samuti on sellele juurdepÀÀs ja mĂ€lutarve vĂ€iksem. ZIP: 253 MB, 146 s 7z: 135 MB, 54,2 s 2,7 korda kiiremini kui ZIP tar.gz: 214 MB, 28,5 s x 5,1 RAR: 235 MB, 27,5 s x 5,3 tar: 1345 MB, 4,7 s x 31 Pack: 194 MB, 1,3 s x 112
Failtidefailide failideviga kiirusest puudub teave. TĂ”enĂ€oliselt on madal ZIP-i kiirus tingitud testide kĂ€ivitamisjĂ€rjekorrast, mis ei arvesta andmete vahemĂ€llu salvestamist â ZIP-testi kĂ€ivitatud kĂŒlma vahemĂ€luga, samas kui teised testid kĂ€ivitati soojendatud vahemĂ€luga. Tavalistes tingimustes nĂ€itab Zstandard 3-5 korda kĂ”rgemat tihendamise kiirust vĂ”rreldes zlib-iga ja kahekordset kiiremat dekompressiooni, samas kui tihendamise tase on 10-15% kĂ”rgem.
TÀiendav teave: Sarnane idee tihendatud failide salvestamisest blob-ide kujul SQLite andmebaasis ellu viidud 2014. aastal arhiivimisprogrammis sqlar, mille töötasid vÀlja SQLite arendajad eksperimentaalselt, et hinnata blob-ide salvestamise tÔhusust SQLite-s. Sqlar kasutab tihendamiseks zlib-i ja failide suurus on umbes 2% suurem kui ZIP-utiliidil.
Allikas: opennet.ru
