Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Данная ΡΡ‚Π°Ρ‚ΡŒΡ ΡƒΠΆΠ΅ вторая Π² Ρ‚Π΅ΠΌΠ΅ ΠΎ скоростной компрСссии Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±Ρ‹Π» описан компрСссор Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 10Π“Π±Π°ΠΉΡ‚/сСк. Π½Π° ΠΎΠ΄Π½ΠΎ процСссорноС ядро (минимальноС сТатиС, RTT-Min).

Π­Ρ‚ΠΎΡ‚ компрСссор, ΡƒΠΆΠ΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ Π² ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ криминалистичСских Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² для скоростного сТатия Π΄Π°ΠΌΠΏΠΎΠ² носитСлСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ усилСния стойкости ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для сТатия ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ своп Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΏΡ€ΠΈ сохранСнии ΠΈΡ… Π½Π° Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… SSD накопитСлях.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π°Π½ΠΎΠ½ΡΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° компрСссии для сТатия Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ HDD ΠΈ SSD дисковых Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ (срСднСС сТатиС, RTT-Mid) с сущСствСнно ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ сТатия Π΄Π°Π½Π½Ρ‹Ρ…. К настоящСму Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ этот компрСссор ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ² ΠΈ данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ Π½Π΅ΠΌ.

ΠšΠΎΠΌΠΏΡ€Π΅ΡΡΠΎΡ€, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RTT-Mid обСспСчиваСт ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия ΡΡ€Π°Π²Π½ΠΈΠΌΡƒΡŽ со стандартными Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° WinRar, 7-Zip, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² скоростном Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠŸΡ€ΠΈ этом ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° порядок Π²Ρ‹ΡˆΠ΅.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ/распаковки Π΄Π°Π½Π½Ρ‹Ρ… являСтся критичСским ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ компрСссии. Вряд Π»ΠΈ ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 10-15 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚ Π² сСкунду (ΠΈΠΌΠ΅Π½Π½ΠΎ такая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² стандартном Ρ€Π΅ΠΆΠΈΠΌΠ΅ компрСссии), вСдь Π½Π° это придСтся Π·Π°Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ часов ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ процСссора…

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° скоростях порядка 2-3Π“ΠΈΠ³Π°Π‘Π°ΠΉΡ‚ Π² сСкунду ΠΌΠΈΠ½ΡƒΡ‚ Π·Π° Π΄Π΅ΡΡΡ‚ΡŒ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сТатиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ большого обьСма Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Ссли Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ Π½ΠΈΠΆΠ΅ скорости Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Для соврСмСнных систСм это Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 100ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚ Π² сСкунду.

Π’Π°ΠΊΠΈΠ΅ скорости соврСмСнныС компрСссоры ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«fastΒ». Π’ΠΎΡ‚ Π² этом Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ сравнСниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° RTT-Mid с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ компрСссорами.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ тСстированиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° компрСссии

ΠšΠΎΠΌΠΏΡ€Π΅ΡΡΠΎΡ€ RTT-Mid Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² составС тСстовой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Β«Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΒ» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‚Π°ΠΌ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ примСняСтся Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉΒ» компилятор, Π° Π½Π΅ Π‘#.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ тСстС компрСссоры построСны Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎ Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Ρ‚ΠΎ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΠΈ тСста использовался ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°ΠΌΠ΅Ρ€Π° «срСднСй Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠΎ Π±ΠΎΠ»ΡŒΠ½ΠΈΡ†Π΅Β»β€¦

Π‘Ρ‹Π» создан Ρ„Π°ΠΉΠ» посСкторного Π΄Π°ΠΌΠΏΠ° логичСского диска с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Windows 10, это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ СстСствСнная смСсь Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰Π°ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ этого Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ провСсти сравнСниС ΠΏΠΎ скорости ΠΈ стСпСни компрСссии Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с самыми ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ компрСссорами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π² соврСмСнных Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Π°Ρ….

Π’ΠΎΡ‚ этот Ρ„Π°ΠΉΠ» Π΄Π°ΠΌΠΏΠ°:

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Π€Π°ΠΉΠ» Π΄Π°ΠΌΠΏΠ° сТимался компрСссорами Π Π’Π’-Mid, 7-zip, WinRar. ΠšΠΎΠΌΠΏΡ€Π΅ΡΡΠΎΡ€ WinRar ΠΈ 7-zip Π±Ρ‹Π»ΠΈ выставлСны Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ компрСссор 7-zip:

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Он Π³Ρ€ΡƒΠ·ΠΈΡ‚ процСссор Π½Π° 100%, ΠΏΡ€ΠΈ этом срСдняя ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния исходного Π΄Π°ΠΌΠΏΠ° ΠΎΠΊΠΎΠ»ΠΎ 60 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚/сСк.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ компрСссор WinRar:

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Битуация аналогичная, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° процСссора практичСски 100%, срСдняя ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния Π΄Π°ΠΌΠΏΠ° ΠΎΠΊΠΎΠ»ΠΎ 125 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚/сСк.

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° возмоТностями процСссора.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ тСстовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° компрСссора RTT-Mid:

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ процСссор Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½Π° 50% ΠΈ простаиваСт ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ врСмя, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π½Π΅ΠΊΡƒΠ΄Π° Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скомпрСссированныС Π΄Π°Π½Π½Ρ‹Π΅. Диск Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Диск 0) Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния Π΄Π°Π½Π½Ρ‹Ρ… (Диск 1) сильно скачСт, Π½ΠΎ Π² срСднСм Π±ΠΎΠ»Π΅Π΅ 200 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚/сСк.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ компрСссора ограничиваСтся Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ записи сТатых Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Диск 0.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ…ΡΡ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ²:

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ компрСссор RTT-Mid Π»ΡƒΡ‡ΡˆΠ΅ всСх справился с компрСссиСй, Π°Ρ€Ρ…ΠΈΠ² созданный ΠΈΠΌ Π½Π° 1,3 Π“ΠΈΠ³Π°Π‘Π°ΠΉΡ‚Π° мСньшС Π°Ρ€Ρ…ΠΈΠ²Π° WinRar ΠΈ Π½Π° 2,1Π“ΠΈΠ³Π°Π‘Π°ΠΉΡ‚Π° мСньшС Π°Ρ€Ρ…ΠΈΠ²Π° 7z.

ВрСмя Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° созданиС Π°Ρ€Ρ…ΠΈΠ²Π°:

  • 7-zip – 26ΠΌΠΈΠ½ΡƒΡ‚ 10 сСкунд;
  • WinRar – 17ΠΌΠΈΠ½ΡƒΡ‚ 40 сСкунд;
  • RTT-Mid – 7 ΠΌΠΈΠ½ΡƒΡ‚ 30 сСкунд.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π°ΠΆΠ΅ тСстовая, Π½Π΅ оптимизированная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RTT-Mid, смогла Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² Π΄Π²Π° с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ Ρ€Π°Π·Π° быстрСС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ², ΠΏΡ€ΠΈ этом Π°Ρ€Ρ…ΠΈΠ² оказался сущСствСнно мСньшим Π½Π΅ΠΆΠ΅Π»ΠΈ Ρƒ конкурСнтов…

Π’Π΅, ΠΊΡ‚ΠΎ Π½Π΅ Π²Π΅Ρ€ΠΈΡ‚ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°ΠΌ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈΡ… Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. ВСстовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° доступна ΠΏΠΎ ссылкС, скачивайтС ΠΈ провСряйтС.

Но Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° процСссорах с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ AVX-2, Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ этих инструкций компрСссор Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ Π½Π΅ тСстируйтС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° старых процСссорах AMD, ΠΎΠ½ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ Π² части выполнСния AVX команд…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ компрСссии

Π’ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ индСксирования ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² тСкста Π² Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ грануляции. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сТатия извСстСн Π΄Π°Π²Π½ΠΎ, Π½ΠΎ Π½Π΅ использовался, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ опСрация поиска совпадСний Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π½ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Π° ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ рСсурсам ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ΠΆΠ΅Π»ΠΈ построСниС словаря. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ RTT-Mid являСтся классичСским ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ двиТСния Β«Π½Π°Π·Π°Π΄ Π² будущСС»…

Π’ компрСссорС Π Π’Π’ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ скоростной сканСр поиска совпадСний, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс компрСссии. Π‘ΠΊΠ°Π½Π΅Ρ€ собствСнного изготовлСния, это «моя ΠΏΡ€Π΅Π»Π΅ΡΡ‚ΡŒβ€¦Β», Β«Ρ†Π΅Π½Ρ‹ ΠΎΠ½ Π½Π΅ΠΌΠ°Π»ΠΎΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹Β» (написан Π½Π° ассСмблСрС).

Π‘ΠΊΠ°Π½Π΅Ρ€ поиска совпадСний Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎ Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ вСроятностной схСмС, сначала сканируСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Β«ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°Β» совпадСния, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС выявлСния Β«ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°Β» Π² этом мСстС запускаСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° обнаруТСния Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ совпадСния.

Окно поиска совпадСний ΠΈΠΌΠ΅Π΅Ρ‚ нСпрСдсказуСмый Ρ€Π°Π·ΠΌΠ΅Ρ€, зависящий ΠΎΡ‚ стСпСни энтропии Π² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ случайных (нСсТимСмых) Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, для Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ всСгда ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ большС ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°.

Но ΠΌΠ½ΠΎΠ³ΠΈΠ΅ соврСмСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… нСсТимаСмы ΠΈ Β«Π³ΠΎΠ½ΡΡ‚ΡŒΒ» ΠΏΠΎ Π½ΠΈΠΌ рСсурсоСмкий сканСр бСсполСзно ΠΈ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, поэтому Π² сканСрС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° ищутся участки исходного тСкста с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π°ΠΌΠΈ, эта опСрация проводится Ρ‚ΠΎΠΆΠ΅ вСроятностным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈ выполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро (Π½Π° скорости 4-6 Π“ΠΈΠ³Π°Π‘Π°ΠΉΡ‚/сСк). Π—Π°Ρ‚Π΅ΠΌ участки с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ совпадСниями ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ основным сканСром.

ИндСксноС сТатиС Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивно, приходится Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ индСксами, ΠΈ индСксный массив сущСствСнно сниТаСт коэффициСнт сТатия.

Для увСличСния стСпСни сТатия ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»Π½Ρ‹Π΅ совпадСния Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… строк, Π½ΠΎ ΠΈ частичныС, ΠΊΠΎΠ³Π΄Π° Π² строкС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ совпавшиС ΠΈ Π½Π΅ совпавшиС Π±Π°ΠΉΡ‚Ρ‹. Для этого Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ индСкса Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅ маски совпадСний которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° совпавшиС Π±Π°ΠΉΡ‚Ρ‹ Π΄Π²ΡƒΡ… Π±Π»ΠΎΠΊΠΎΠ². Для Π΅Ρ‰Π΅ большСй компрСссии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ индСксированиС с Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частично ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ², Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ.

ВсС это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² компрСссорС Π Π’Π’-Mid ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия, ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΡƒΡŽ с компрСссорами Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ словарному ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° компрСссии

Если компрСссор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡŒΠ½Ρ‹ΠΌ использованиСм кСш памяти (Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ трСбуСтся 4 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚Π°), Ρ‚ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ колСблСтся Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 700-2000 ΠœΠ΅Π³Π°Π±Π°ΠΉΡ‚/сСк. Π½Π° ΠΎΠ΄Π½ΠΎ процСссорноС ядро Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° сТимаСмых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ°Π»ΠΎ зависит ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ частоты процСссора.

ΠŸΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ компрСссора эффСктивная ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ опрСдСляСтся обьСмом кСш-памяти Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, имСя Β«Π½Π° Π±ΠΎΡ€Ρ‚ΡƒΒ» 9 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚ кСш-памяти Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² компрСссии Π½Π΅Ρ‚ смысла, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ расти ΠΎΡ‚ этого Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Но ΠΏΡ€ΠΈ кСшС Π² 20 ΠœΠ΅Π³Π°Π‘Π°ΠΉΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² компрСссии.

Π’Π°ΠΊΠΆΠ΅ сущСствСнным ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ компрСссора становится Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Алгоритм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π½Π΄ΠΎΠΌΠ½Ρ‹Π΅ обращСния ΠΊ ОП, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² кСш ΠΏΠ°ΠΌΡΡ‚ΡŒ (ΠΎΠΊΠΎΠ»ΠΎ 10%) ΠΈ Π΅ΠΌΡƒ приходится ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°Ρ‚ΡŒ, оТидая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ОП, Ρ‡Ρ‚ΠΎ сниТаСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

БущСствСнно влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компрСссора ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° систСмы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. Запросы ΠΊ ОП ΠΎΡ‚ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ обращСния Π·Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ со стороны ЦП, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ сниТаСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компрСссии. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сущСствСнна для Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² ΠΈ дСсктопов, для сСрвСров ΠΎΠ½Π° ΠΌΠ΅Π½Π΅Π΅ сущСствСнна благодаря Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ Π±Π»ΠΎΠΊΡƒ управлСния доступом ΠΊ систСмной шинС ΠΈ многоканальной ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Π’Π΅Π·Π΄Π΅ ΠΏΠΎ тСксту Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± компрСссии, дСкомпрСссия остаСтся Π·Π° Ρ€Π°ΠΌΠΊΠ°ΠΌΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΌ «всС Π² шоколадС». ДСкомпрСссия проводится Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, ΠΈ ограничиваСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Одно физичСскоС ядро Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ спокойно обСспСчиваСт скорости распаковки Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 3-4 Π“ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°/сСк.

Π­Ρ‚ΠΎ связано с отсутствиСм Π² процСссС распаковки ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска совпадСний, которая «сТираСт» основныС рСсурсы процСссора ΠΈ кСш-памяти ΠΏΡ€ΠΈ компрСссии.

ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния сТатых Π΄Π°Π½Π½Ρ‹Ρ…

Как слСдуСт ΠΈΠ· названия всСго класса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΡ€Π΅ΡΡΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… (Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€Ρ‹), ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ Π³ΠΎΠ΄Π°ΠΌΠΈ, Π° столСтиями ΠΈ тысячСлСтиями…

Π—Π° врСмя хранСния носитСли ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ€ΡΡŽΡ‚ Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Бкоростная отказоустойчивая компрСссия (ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)

Π­Ρ‚ΠΎΠΌΡƒ Β«Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌΡƒΒ» Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ тысяча Π»Π΅Ρ‚, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ утСряны, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ информация «читаСма»…

Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· отвСтствСнных ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ соврСмСнных Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… систСм хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… носитСлСй ΠΊ Π½ΠΈΠΌ Π½Π΅ Π΄Π°Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΠΉ сохранности Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° 75 Π»Π΅Ρ‚.
И это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° отлоТСнная, Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ наши потомки…

БистСмы хранСния Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· 75 Π»Π΅Ρ‚, ошибки Π² Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² любоС врСмя, Π΄Π°ΠΆΠ΅ Π²ΠΎ врСмя ΠΈΡ… записи, эти искаТСния ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ коррСктируя систСмами ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ ошибок. Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ систСмы ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда, Π° Ссли ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚, Ρ‚ΠΎ Π½Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ, Ρ‡Ρ‚ΠΎ опСрация восстановлСния ΠΏΡ€ΠΎΡˆΠ»Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

И это Ρ‚ΠΎΠΆΠ΅ большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Π½Π΅ отлоТСнная, Π° тСкущая.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ компрСссоры ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… построСны Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… модификациях словарного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ для Ρ‚Π°ΠΊΠΈΡ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² утСря Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ событиСм, сущСствуСт Π΄Π°ΠΆΠ΅ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΠΉΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ для Ρ‚Π°ΠΊΠΎΠΉ ситуации β€” Β«Π±ΠΈΡ‚Ρ‹ΠΉΒ» архив…

Низкая Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π°Ρ€Ρ…ΠΈΠ²Π°Ρ… со словарным сТатиСм связана со структурой сТатых Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π² Ρ‚Π°ΠΊΠΎΠΌ Π°Ρ€Ρ…ΠΈΠ²Π΅ Π½Π΅ содСрТат исходный тСкст, Ρ‚Π°ΠΌ хранятся Π½ΠΎΠΌΠ΅Ρ€Π° записСй Π² словарС, сам ΠΆΠ΅ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ динамичСски модифицируСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ сТимаСмым тСкстом. ΠŸΡ€ΠΈ ΡƒΡ‚Π΅Ρ€Π΅ ΠΈΠ»ΠΈ искаТСнии Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Π°Ρ€Ρ…ΠΈΠ²Π° всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ записи Π°Ρ€Ρ…ΠΈΠ²Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈ ΠΏΠΎ содСрТимому, Π½ΠΈ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ записи Π² словарС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нСпонятно Ρ‡Π΅ΠΌΡƒ соотвСтствуСт Π½ΠΎΠΌΠ΅Ρ€ словарной записи.

Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Ρ‚Π°ΠΊΠΎΠ³ΠΎ Β«Π±ΠΈΡ‚ΠΎΠ³ΠΎΒ» Π°Ρ€Ρ…ΠΈΠ²Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Алгоритм RTT построСн Π½Π° основС Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° хранСния сТатых Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π½Π΅ΠΌ примСняСтся индСксный ΠΌΠ΅Ρ‚ΠΎΠ΄ ΡƒΡ‡Π΅Ρ‚Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ компрСссии позволяСт ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послСдствия искаТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° носитСлС, ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях автоматичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ искаТСния возникшиС ΠΏΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² случаС индСксного сТатия содСрТит Π΄Π²Π° поля:

  • ΠΏΠΎΠ»Π΅ исходного тСкста с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ участками ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π°;
  • ΠΏΠΎΠ»Π΅ индСксов.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎΠ΅ для восстановлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ индСксов, Π½Π΅ Π²Π΅Π»ΠΈΠΊΠΎ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для надСТности хранСния Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°ΠΆΠ΅ Ссли Π±ΡƒΠ΄Π΅Ρ‚ утСрян Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ исходного тСкста ΠΈΠ»ΠΈ индСксного массива, Ρ‚ΠΎ вся ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ информация Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ с Β«Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΒ» носитСлСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

НСдостатки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Достоинств Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π±Π΅Π· нСдостатков. Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ компрСссии Π½Π΅ сТимаСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ°Π»ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. Π­Ρ‚ΠΎ связано с ограничСниями индСксного ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3 Π±Π°ΠΉΡ‚ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π΄ΠΎ 12Π±Π°ΠΉΡ‚. Если встрСчаСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€ с мСньшим Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρ‡Π΅ΠΌ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ индСкс, Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ учитываСтся, ΠΊΠ°ΠΊ Π±Ρ‹ часто Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ Π²Ρ‹ΡΠ²Π»ΡΠ»ΠΈΡΡŒ Π² сТимаСмом Ρ„Π°ΠΉΠ»Π΅.

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ, словарный ΠΌΠ΅Ρ‚ΠΎΠ΄ компрСссии, эффСктивно сТимаСт мноТСствСнныС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ ΠΌΠ°Π»ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΈ поэтому достигаСт большСго коэффициСнта сТатия Π½Π΅ΠΆΠ΅Π»ΠΈ индСксная компрСссия. ΠŸΡ€Π°Π²Π΄Π° это достигаСтся Π·Π° счСт высокой загруТСнности Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ словарный ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π°Ρ‡Π°Π» ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ эффСктивнСС индСксного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΅ΠΌΡƒ приходится ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ 10-20 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π² сСкунду Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… установках ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ЦП.

Π’Π°ΠΊΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ скорости Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ для соврСмСнных систСм хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ большС «акадСмичСский» интСрСс, Π½Π΅ΠΆΠ΅Π»ΠΈ практичСский.

Π‘Ρ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ сущСствСнно ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π Π’Π’ (RΠ’Π’- Max), ΠΎΠ½ ΡƒΠΆΠ΅ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ всСгда, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт…

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ