ΠΡΠΎΠ΅ΠΊΡ Pack ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΠ» ΠΏΠΎΠΏΡΡΠΊΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SQLite ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΆΠ°ΡΠΈΡ ZSTD (Zstandard). ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Pascal ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, ΠΎΠ±ΠΎΠ³Π½Π°Π» ΠΏΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΡ ΠΈΠ²ΠΎΠ² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡΡ, ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ° ΡΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡ ΠΊ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠΆΠ°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ libzstd ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΆΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ» Ρ ΠΠ SQLite.
ΠΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ 81 ΡΡΡΡΡΠ΅ΠΉ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ±ΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 1.25 ΠΠ, pack ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΡΡΠΈΠ»ΠΈΡΡ ZIP Π² 112 ΡΠ°Π·, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π° 1.3 ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΏΡΠΎΡΠΈΠ² 146 ΡΠ΅ΠΊΡΠ½Π΄ Ρ ZIP. Π Π°Π·ΠΌΠ΅Ρ Π°ΡΡ ΠΈΠ²Π° ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ pack ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ Π½Π° 23% ΠΌΠ΅Π½ΡΡΠ΅ (194 MB Ρ Pack ΠΈ 253 MB Ρ ZIP). ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΠ° tar Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π° ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ Π·Π° 4.7 ΡΠ΅ΠΊΡΠ½Π΄Ρ Π±Π΅Π· ΡΠΆΠ°ΡΠΈΡ ΠΈ Π·Π° 28.5 ΡΠ΅ΠΊΡΠ½Π΄ ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ gzip, Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡ RAR ΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ Ρ ΡΠ΅ΡΡΠΎΠΌ Π·Π° 27.5 ΡΠ΅ΠΊΡΠ½Π΄, Π° 7z Π·Π° 54.2 ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π Π°Π·ΠΌΠ΅Ρ Π°ΡΡ ΠΈΠ²ΠΎΠ² ΡΠΎΡΡΠ°Π²ΠΈΠ»: tar.gz — 214 MB, RAR — 235 MB, 7z — 135 MB. ΠΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Pack ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡΡ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ZIP: 253 MB, 146 s 7z: 135 MB, 54.2 s Π±ΡΡΡΡΠ΅Π΅ ZIP Π² 2.7 ΡΠ°Π·Π° 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
ΠΡΠΎ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΡΡΠ° Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ° Π½Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ZIP ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΡΠΎΠ² Π±Π΅Π· ΠΎΠ³Π»ΡΠ΄ΠΊΠΈ Π½Π° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ — ΡΠ΅ΡΡ Ρ zip Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ ΠΏΡΠΈ Ρ ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΌ ΠΊΡΡΠ΅, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ΅ΡΠΎΠΌ. Π ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Zstandard Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π² 3-5 ΡΠ°Π· Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ zlib ΠΈ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ, ΠΏΡΠΈ ΡΡΠΎΠ²Π½Π΅ ΡΠΆΠ°ΡΠΈΡ Π²ΡΡΠ΅ Π½Π° 10-15%.
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠΠΎΡ
ΠΎΠΆΠ°Ρ ΠΈΠ΄Π΅Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΆΠ°ΡΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠ±ΠΎΠ² Π² ΠΠ SQLite ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² 2014 Π³ΠΎΠ΄Ρ Π² Π°ΡΡ
ΠΈΠ²Π°ΡΠΎΡΠ΅ sqlar, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ SQLite Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠ±ΠΎΠ² Π² SQLite. Π sqlar Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ zlib ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 2% Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΡΡΠΈΠ»ΠΈΡΡ ZIP.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru