Projek Pack cuba mencipta format pengarkiban fail berdasarkan pustaka SQLite dan algoritma pemampatan ZSTD (Zstandard). Prototaip yang terhasil, yang ditulis dalam Pascal dan diedarkan di bawah lesen Apache 2.0, mengatasi pengarkib yang paling biasa dalam kelajuan penciptaan arkib, walaupun operasinya terhad kepada membaca data, memampatkannya dengan pustaka libzstd dan melaksanakan operasi SQL untuk menambahkan data termampat ke fail dalam pangkalan data SQLite.
Apabila memampatkan direktori yang mengandungi 81 fail dengan saiz keseluruhan 1.25 GB, pek adalah 112 kali lebih pantas daripada ZIP, menyelesaikan operasi dalam 1.3 saat berbanding 146 saat untuk ZIP. Saiz arkib Pek adalah 23% lebih kecil (194 MB untuk Pek dan 253 MB untuk ZIP). Sebagai perbandingan, tar menyelesaikan pemampatan dalam 4.7 saat tanpa pemampatan dan 28.5 saat dengan pemampatan gzip. RAR menyelesaikan ujian dalam 27.5 saat, dan 7z dalam 54.2 saat. Saiz arkib ialah: tar.gz - 214 MB, RAR - 235 MB, 7z - 135 MB. Pek juga mengatasi pengarkib lain dari segi kelajuan pembongkaran dan akses fail rawak, sambil menggunakan kurang RAM. ZIP: 253 MB, 146 s 7z: 135 MB, 54.2 s lebih pantas ZIP 2.7 kali ganda tar.gz: 214 MB, 28.5 sx 5.1 RAR: 235 MB, 27.5 sx 5.3 tar: 1345 MB, 4.7 sx 31 Pek: 194 MB, 1.3 SX 112
Kesan cache fail terhadap keputusan ujian tidak dinyatakan. Kelajuan ZIP yang rendah mungkin disebabkan oleh susunan ujian dijalankan, tanpa mengambil kira penyimpanan memori—ujian ZIP dijalankan dengan cache sejuk, manakala ujian lain dijalankan dengan cache panas. Dalam keadaan biasa, Zstandard menunjukkan pemampatan 3-5 kali lebih pantas daripada zlib dan penyahmampatan dua kali lebih pantas, dengan nisbah mampatan 10-15% lebih tinggi.
Kemas Kini: Idea serupa untuk menyimpan fail termampat sebagai gumpalan dalam pangkalan data SQLite telah dilaksanakan pada tahun 2014 dalam arkib sqlar, yang dicipta oleh pembangun SQLite sebagai eksperimen untuk menilai kecekapan menyimpan gumpalan dalam SQLite. sqlar menggunakan zlib untuk pemampatan, dan saiz fail adalah kira-kira 2% lebih besar daripada utiliti ZIP.
Sumber: opennet.ru
