Pack projekt alustas faili arhiveerimise formaadi loomist, mis pĂ”hineb SQLite raamatukogu ja ZSTD (Zstandard) kompressioonialgoritmil. Valmistatud prototĂŒĂŒp, kirjutatud Pascalis ja levitatav Apache 2.0 litsentsi all, ĂŒletas arhiveerijate loomise kiiruselt kĂ”ige levinumaid arhiveerimisi, samas kui selle töö hĂ”lmas andmete lugemist, kompressimist libzstd raamatukogu abil ja SQL-operatsioone kompressitud andmete lisamiseks SQLite andmebaasifaili.
81 000 faili sisaldava katalooge, mille ĂŒldsuurus on 1,25 GB, arhiveerimisel osutus pack 112 korda kiiremaks kui ZIP utiliit, tehes operatsiooni 1,3 sekundi jooksul vĂ”rreldes 146 sekundiga ZIP-i puhul. Samuti oli packi arhiivi suurus 23% vĂ€iksem (194 MB Packis ja 253 MB ZIP-is). VĂ”rdluseks, tar utiliit tegi pakkimise 4,7 sekundiga ilma kompressioonita ja 28,5 sekundiga gzip meetodiga, arhiveerija RAR tĂ€itis testi 27,5 sekundiga ja 7z 54,2 sekundiga. Arhivide suurused olid: tar.gz â 214 MB, RAR â 235 MB, 7z â 135 MB. TĂ”detakse, et Pack ĂŒletab ka teisi arhiveerijaid kiiruselt, pakkudes samal ajal vĂ€hem sĂŒsteemimĂ€lu.
Failide vahemĂ€lu mĂ”ju testitulemuste kohta ei mainita. TĂ”enĂ€oliselt on ZIP-i madal kiirus tingitud testide kĂ€ivitamise jĂ€rjestusest, ilma et arvestataks andmete vahemĂ€llu salvestamist â zip test kĂ€idi kĂŒlma vahemĂ€luga, samas kui teised testid soojendatud vahemĂ€luga. Tavalistes tingimustes nĂ€itab Zstandard 3-5 korda kĂ”rgemat kompressioonikiirust vĂ”rreldes zlibiga ning kaks korda kiiremat dekompressiooni, saavutades samas 10-15% kĂ”rgema kompressioonitaseme.
TÀiendav: Sarnane idee kompressitud failide salvestamiseks blobidena SQLite andmebaasi realiseeriti 2014. aastal arhiveerijas sqlar, mille lÔid SQLite arendajad katsetamiseks, et hinnata blobide salvestamise efektiivsust SQLite-s. Sqlar kasutab kompressiooniks zlib-i ja failide suurus on umbes 2% suurem kui ZIP utiliidi puhul.
Allikas: opennet.ru
