Eksperimintearje mei SQLite as kontener foar argivearjen fan bestannen

It Pack-projekt besocht in bestânsargyfformaat te meitsjen basearre op de SQLite-bibleteek en it ZSTD (Zstandard) kompresjealgoritme. It taret prototype, skreaun yn Pascal en ferspraat ûnder de Apache 2.0-lisinsje, prestearre de meast foarkommende argiven yn 'e snelheid fan it meitsjen fan argiven, nettsjinsteande it feit dat syn wurk beheind wie ta it lêzen fan gegevens, it komprimearjen mei de libzstd-bibleteek en it útfieren fan SQL-operaasjes om foegje komprimearre gegevens ta oan in bestân mei in databank SQLite.

By it komprimearjen fan in map mei 81 tûzen bestannen mei in totale grutte fan 1.25 GB, wie it pakket 112 kear rapper dan it ZIP-hulpprogramma, en foltôge de operaasje yn 1.3 sekonden tsjin 146 sekonden foar ZIP. De argyfgrutte foar pakket wie 23% lytser (194 MB foar Pack en 253 MB foar ZIP). Foar fergeliking foltôge it tar-hulpprogramma de ferpakking yn 4.7 sekonden sûnder kompresje en yn 28.5 sekonden mei gzip-kompresje foltôge de RAR-argiver de test yn 27.5 sekonden, en 7z yn 54.2 sekonden. De argyfgrutte wiene: tar.gz - 214 MB, RAR - 235 MB, 7z - 135 MB. It wurdt opmurken dat yn termen fan snelheid fan útpakke en willekeurich tagong ta triemmen, Pack is ek foarsprong op oare archivers, wylst konsumearje minder RAM. ZIP: 253 MB, 146 s 7z: 135 MB, 54.2 s flugger ZIP 2.7 kear tar.gz: 214 MB, 28.5 sx 5.1 RAR: 235 MB, 27.5 sx 5.3 tar: 1345 MBx, 4.7 MB, 31 MBx, 194 MB SX 1.3

D'r is gjin melding oer it effekt fan 'e triemcache op' e testresultaten. Wierskynlik is de lege snelheid fan ZIP te tankjen oan 'e folchoarder wêryn't de tests waarden lansearre sûnder rekken te hâlden mei gegevenscaching yn it ûnthâld - de test mei zip waard lansearre mei in kâlde cache, en de rest fan 'e tests mei in waarme cache. Under normale omstannichheden, Zstandard eksposearret 3-5 kear flugger kompresje faasjes dan zlib en 10 kear flugger dekompresje, mei 15-XNUMX% hegere kompresje nivo.

Tafoeging: In ferlykber idee fan it opslaan fan komprimearre bestannen yn 'e foarm fan blobs yn in SQLite-database waard yn 2014 ymplementearre yn' e sqlar-argiver, makke troch de SQLite-ûntwikkelders as in eksperimint om de effisjinsje fan it opslaan fan blobs yn SQLite te evaluearjen. sqlar brûkt zlib foar kompresje en de triemgrutte is sawat 2% grutter dan it ZIP-hulpprogramma.

Boarne: opennet.ru

Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster