Предыдущий блок | Следующий блок | Вернуться в индекс |
— RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 09 Sep 01 12:54:58 To : All Subj : Compressors Comparison Test, September 2001 [8/8] ¦ Os2.ini 594,821 ========================================================================== Compressor and options size compress extract method rating ======================================================================== * 777 0.04b1 m2 84,454 11.05 3.78 LZ+Ari 38.28 * 7zip 2.30b2 7z LZMAbt234 86,770 0.89 0.14 LZMA 25.13 uharc' 0.4np m3 91,126 2.23 0.40 LZ+Ari 27.94 rk 1.04a01 mx3 M64 91,248 5.93 5.98 PPM 37.25 rk 1.04a01 mx2 91,248 5.94 5.98 PPM 37.26 rk 1.04a01 mx1 91,672 5.78 5.80 PPM 37.04 uharc' 0.4np m2 91,754 1.88 0.40 LZ+Ari 27.76 uharc' 0.4np mm- 91,965 1.06 0.38 LZ+Ari 26.98 uharc' 0.4np m1 92,754 1.68 0.41 LZ+Ari 27.85 uharc' 0.4np mx 93,886 2.19 1.52 PPM 29.78 ppmonstr H o1 m64 94,239 1.73 1.77 PPMII 29.67 * cabarc 1.00 LZX:21 94,928 1.50 0.01 LZ+Huf 27.87 * ace32 2.0c3 m5 d2048 95,851 0.58 0.66 LZ+Huf 27.86 ace32 2.0c3 m4 95,883 0.59 0.61 LZ+Huf 27.83 ace32 2.0c3 m3 95,943 0.57 0.60 LZ+Huf 27.82 ppmonstr H o16 m64 96,229 1.09 1.12 PPMII 28.94 cabarc 1.00 LZX:18 96,250 1.27 0.04 LZ+Huf 28.04 acb 2.00 u 97,460 3.12 3.18 AC 33.37 ppmonstr H o12 m64 97,572 1.00 1.05 PPMII 29.15 dst 0.9 mb 4 97,579 6.21 0.66 LZ+DHuf 33.97 * rar/win 2.70 m5 97,646 0.50 0.18 LZ+Huf 27.80 * rar/win 2.70 m4 97,683 0.41 0.18 LZ+Huf 27.72 * rar/win 2.70 m3 97,805 0.34 0.17 LZ+Huf 27.67 acb 2.00 b 98,158 2.15 2.18 AC 31.59 bee 0.49 m2d3 98,195 2.66 2.76 PPM 32.69 ppmonstr H o1 m32 98,344 1.75 1.77 PPMII 30.83 ppmonstr H o10 m64 99,141 0.95 0.99 PPMII 29.47 ppmdh o16 m64 99,208 0.41 0.48 PPMII 28.44 rkuc 1.04 o16 b x 99,268 3.85 4.05 PPM 35.47 rkuc 1.04 o12 b x 99,348 3.55 3.75 PPM 34.89 acb 2.00 B 99,396 1.52 1.54 AC 30.67 bee 0.49 m2d2 99,405 3.14 3.22 PPM 33.97 bee 0.49 m3d3 99,572 3.76 3.84 PPM 35.25 dst 0.9 mb 100,227 0.58 0.44 LZ+DHuf 28.86 ppmdh o12 m64 100,501 0.41 0.43 PPMII 28.75 bee 0.49 m3d2 100,826 4.15 4.26 PPM 36.41 imp 1.10 -1 m3 u1000 100,901 0.36 0.18 LZ+Huf 28.56 ppmonstr H o8 m32 101,068 0.90 0.93 PPMII 29.90 arjz 0.50 mp9 md2m 101,274 1.38 0.07 LZ+Huf 29.58 ppmdh o10 m64 101,864 0.38 0.43 PPMII 29.10 imp 1.10 -1 u1000 102,096 0.31 0.14 LZ+Huf 28.81 arjz 0.50 mp9 102,276 0.98 0.07 LZ+Huf 29.46 rk 1.04a01 mf2 102,352 1.80 1.54 ROLZ 31.77 arjz 0.50 md2m 102,423 0.42 0.07 LZ+Huf 28.94 rk 1.04a01 mf3 102,580 3.74 3.29 ROLZ 35.52 arjz 0.50 mp8 102,593 0.66 0.07 LZ+Huf 29.22 rkuc 1.04 o12 x 103,048 2.52 2.71 PPM 33.85 rkuc 1.04 o16 x 103,052 2.81 2.96 PPM 34.39 jar32 1.02d m3 103,083 1.11 0.12 LZ+Huf 29.86 jar32 1.02d m4 103,085 1.11 0.12 LZ+Huf 29.86 rkuc 1.04 o8 x 103,236 2.26 2.38 PPM 33.31 * lzds2' s1024 m2 103,379 0.29 0.07 LZ+Ari 29.07 ppmdh o8 m64 103,661 0.36 0.41 PPMII 29.56 arjz 0.50 103,695 0.37 0.07 LZ+Huf 29.24 * lzds2' s1024 m1 103,779 0.24 0.07 LZ+Ari 29.13 uharc' 0.4np mz 104,040 0.31 0.45 LZP 29.66 rkuc 1.04 o16 b 104,444 2.75 2.88 PPM 34.64 ppmn 1.00b1 O9 ICd 104,468 1.03 1.12 PPM 31.16 arjz 0.50 mp6 104,793 0.31 0.07 LZ+Huf 29.48 dc 0.99.298b -mt 104,817 0.31 0.17 BWT+Ari 29.59 lz (Kabanov) 6 104,890 0.49 0.18 LZ+Huf 29.80 cabarc 1.00 LZX:15 104,902 0.85 0.01 LZ+Huf 29.99 lz (Kabanov) 5 104,934 0.40 0.21 LZ+Huf 29.75 boa 0.58b m15 104,972 2.04 2.08 PPM 33.27 lz (Kabanov) 4 105,026 0.37 0.19 LZ+Huf 29.73 bee 0.49 m1d2 105,143 1.96 2.09 PPM 33.25 rkuc 1.04 o12 b 105,644 2.48 2.64 PPM 34.46 ppmn 1.00b1 O7 ICd 105,863 0.99 1.10 PPM 31.49 arjz 0.50 mp5 106,104 0.29 0.07 LZ+Huf 29.83 rkuc 1.04 o16 106,124 2.28 2.45 PPM 34.20 * arc' (I.Sutton) m1 106,195 0.18 0.28 BWT+Ari 29.95 arc' (I.Sutton) mm1m1 106,195 0.57 0.23 BWT+Ari 30.29 ppmn 1.00b1 O6 ICd 106,220 0.98 1.08 PPM 31.56 ppmn 1.00b1 O9 106,565 1.03 1.13 PPM 31.76 ppmonstr H o6 m32 106,578 0.85 0.88 PPMII 31.33 rkuc 1.04 o12 107,332 2.03 2.20 PPM 34.04 lzds2' s1024 m4 107,513 0.48 0.07 LZ+Ari 30.41 lzds2' s1024 m3 107,871 0.36 0.07 LZ+Ari 30.39 ppmn 1.00b1 O7 107,936 0.99 1.11 PPM 32.08 arc' (I.Sutton) b2 108,205 0.35 0.23 BWT+Ari 30.63 boa 0.58b m7 108,297 1.97 2.02 PPM 34.07 lz (Kabanov) 3 108,360 0.23 0.19 LZ+Huf 30.52 ppmn 1.00b1 O6 108,367 1.01 1.08 PPM 32.19 arc' (I.Sutton) 108,530 0.34 0.29 BWT+Ari 30.77 arc' (I.Sutton) mm1 108,530 0.73 0.29 BWT+Ari 31.16 rkuc 1.04 o8 b 108,548 2.23 2.42 PPM 34.80 arc' (I.Sutton) b5 108,578 0.34 0.23 BWT+Ari 30.73 arc' (I.Sutton) b5mm1 108,578 0.74 0.26 BWT+Ari 31.16 gca 0.90g -v 108,620 0.52 0.29 BWT+Ari 30.98 dc 0.99.298b 108,745 0.37 0.18 BWT+Ari 30.75 lzds2' s1024 m5 108,872 0.67 0.08 LZ+Ari 30.99 ppmdh o6 m64 109,125 0.34 0.40 PPMII 31.05 rk 1.04a01 109,232 0.41 0.37 PPM/ROLZ 31.12 dc 0.99.298b -b512 109,612 0.38 0.15 BWT+Ari 30.97 rkuc 1.04 o8 110,432 1.78 1.99 PPM 34.44 sbc 0.860 b3m1 110,833 0.37 0.25 BWT+Ari 31.40 sbc 0.860 b3m2 110,833 0.50 0.25 BWT+Ari 31.53 sbc 0.860 110,833 0.50 0.25 BWT+Ari 31.53 sbc 0.860 b3m3 110,833 0.60 0.30 BWT+Ari 31.68 lz (Kabanov) 2 110,856 0.24 0.18 LZ+Huf 31.21 ppmonstr H o5 m16 110,978 0.85 0.84 PPMII 32.51 ppmn 1.00b1 O5 ICd 111,906 0.83 0.91 PPM 32.82 szip 1.12 b21 o0 112,637 2.16 0.18 BWT+Ari 33.62 ba 1.01b5 -24-r 112,996 0.71 0.29 BWT+Ari 32.38 gca 0.90g 113,071 0.47 0.23 BWT+Ari 32.10 rk 1.04a01 mf1 113,332 0.46 0.40 ROLZ 32.34 ppmdh o5 m16 113,518 0.32 0.35 PPMII 32.20 zzip 0.35g -a3 113,539 0.88 0.49 BWT+Ari 32.90 zzip 0.35g -mx 113,539 0.89 0.49 BWT+Ari 32.91 ba 1.01b5 -24-T 113,668 0.47 0.29 BWT+Ari 32.33 ba 1.01b5 113,697 0.47 0.28 BWT+Ari 32.33 ppmn 1.00b1 113,877 0.83 0.93 PPM 33.39 ybs 0.3e -r 114,472 0.47 0.25 BWT+Ari 32.51 bwc/PGCC 0.99 m600k 114,546 0.41 0.22 BWT+Ari 32.44 dc 0.99.298b -a 115,221 0.65 0.34 BWT+Ari 32.99 zzip 0.35g -a1 115,235 0.91 0.47 BWT+Ari 33.38 ybs 0.3e 115,261 0.47 0.27 BWT+Ari 32.75 dc 0.99.015b -a 115,366 0.65 0.43 BWT+Ari 33.12 7zip 2.30b2 zip mx 115,602 1.56 0.07 LZ+Huf 33.74 ybs 0.3e -rm512k 115,698 0.46 0.26 BWT+Ari 32.85 compressia' b2048 115,819 0.77 0.58 BWT+Huf 33.52 szip 1.12 b21 o12 115,872 0.77 0.31 ST+Ari 33.26 uc 2.3.05 tt 116,316 0.38 0.07 LZ+Huf 32.76 ppmonstr H 116,334 0.78 0.80 PPMII 33.89 arhangel 1.40a1 -1 116,359 0.64 0.11 LZ+Ari 33.07 eri 4.14fre -m4 116,368 2.81 0.36 ST+PPM 35.49 ha 0.999c a1 116,395 1.18 0.19 LZ+Ari 33.70 eri 4.14fre -m3 116,417 2.65 0.35 ST+PPM 35.33 ybs 0.3e -m512k 116,610 0.47 0.26 BWT+Ari 33.12 ICT UC 1.0 116,701 0.47 0.29 ST+Ari 33.17 lz (Kabanov) 1 116,724 0.23 0.18 LZ+Huf 32.83 7zip 2.30b2 zip 116,772 0.55 0.07 LZ+Huf 33.05 szip 1.12 b21 o10 116,857 0.63 0.29 ST+Ari 33.38 compressia' b512 117,150 0.80 0.52 BWT+Huf 33.86 eri 4.14fre -m2 117,665 2.47 0.31 ST+PPM 35.46 uc 2.3.05 tn 117,886 0.31 0.07 LZ+Huf 33.12 imp 1.10 -2 u1000 117,890 0.49 0.23 BWT+Huf 33.46 ybs 0.3e -rm256k 117,936 0.45 0.25 BWT+Ari 33.46 szip 1.12 b21 o8 118,000 0.51 0.27 ST+Ari 33.55 ppmdh 118,544 0.30 0.36 PPMII 33.58 ybs 0.3e -m256k 118,756 0.45 0.25 BWT+Ari 33.68 bzip2/PGCC 1.0b7 -6 118,794 0.43 0.15 BWT+Huf 33.57 pkzip 2.50 max 118,845 0.24 0.06 LZ+Huf 33.31 exp1 1. 118,865 0.66 0.14 BWT+Huf 33.81 ppmy 0.3b m64 o9 119,145 14.76 15.02 PPM 62.87 pkzip 2.04g -ex 119,258 0.32 0.06 LZ+Huf 33.50 compressia' b256 119,259 0.88 0.46 BWT+Huf 34.46 dc 0.99.015b 119,447 0.54 0.40 BWT+Ari 34.11 eri 4.14fre -m1 119,458 2.38 0.29 ST+PPM 35.85 esp 1.92 120,275 0.22 0.04 LZ+Huf 33.66 pkzip 2.50 120,381 0.12 0.07 LZ+Huf 33.62 pkzip 2.04g 120,582 0.21 0.06 LZ+Huf 33.76 szip 1.12 b21 o6 121,377 0.38 0.23 ST+Ari 34.32 ba 1.01b5 -24-z 122,848 0.48 0.29 BWT+Ari 34.89 rkuc 1.04 125,216 1.18 1.36 PPM 37.32 ppmy 0.3b m64 o7 125,816 13.62 13.86 PPM 62.42 szip 1.12 b21 o4 127,767 0.17 0.19 ST+Ari 35.85 ann p12 135,657 3.60 3.51 PPM+NN 44.79 ppmy 0.3b m64 o5 138,004 11.77 12.16 PPM 62.26 arhangel 1.40a1 -1-mm6 142,114 0.58 0.12 LZ+Ari 40.17 ppmy 0.3b m200 143,510 35.97 38.14 PPM 113.97 ha 0.999c a2 144,257 2.21 2.04 PPM 44.32 arhangel 1.40a1 -2-mc8192 145,177 1.00 0.93 PPM 42.25 lzap 0.20.0b 146,876 2.50 2.61 DMC 45.90 hap 3.00 152,624 1.21 1.35 PPM 44.95 ppmy 0.3b m64 o4 161,072 10.72 11.09 PPM 66.55 Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50) — RU.COMPRESS From : Dmitry Shkarin 2:5020/400 09 Sep 01 15:09:20 To : All Subj : Статья Буяновского From: "Dmitry Shkarin" <dmitry.shkarin@mtu-net.ru> Hi, All! Помнится был разговор про нее, не напомнит-ли кто, где она в результате оказалась (точный адресок)? --- ifmail v.2.15dev5 * Origin: home (2:5020/400) — RU.COMPRESS From : Maxim Smirnov 2:5020/400 10 Sep 01 11:58:36 To : Vadim Yoockin Subj : Compressors Comparison Test, September 2001 [1/8] From: "Maxim Smirnov" <model@iac.spb.ru> Sun Sep 09 2001 12:50, Vadim Yoockin wrote to All: VY> English Text(condoyle.txt) 2,042,760 VY> ========================================================================= VY> = VY> Compressor and options size compress extract method VY> rating VY> ======================================================================= VY> = VY> * ppmn 1.00b1 MT1 M:20 O7 465,761 5.80 6.03 PPM VY> 141.20 VY> ppmn 1.00b1 MT1 M:20 O9 466,022 6.19 6.40 PPM VY> 142.04 А чего память-то жалеешь? Уж бухнул бы сразу 50 мб, скорость бы выше была (и сжатие чуток лучше). Или это просто глюк отчета? И, если уж пошла такая пьянка, то метод скорее PPMII. PS 2Vadim only: proxy заработал ;-) И я почти все материалы прочитал. Maxim --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) — RU.COMPRESS From : Maxim Smirnov 2:5020/400 10 Sep 01 12:04:44 To : Vadim Yoockin Subj : Compressors Comparison Test, September 2001 [6/8] From: "Maxim Smirnov" <model@iac.spb.ru> Sun Sep 09 2001 12:53, Vadim Yoockin wrote to All: VY> Dictionary (ca.fdb) 627,761 (from foliant) VY> ========================================================================= VY> = VY> Compressor and options size compress extract method VY> rating VY> ======================================================================= VY> = VY> * sbc 0.860 m3a 87,738 0.51 0.31 BWT+Ari VY> 25.19 VY> uharc' 0.4np mx 96,256 3.29 2.66 PPM VY> 32.68 Круто, круто. Hе иначе как Sami специально тренировался ;-) Maxim --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 10 Sep 01 14:53:58 To : Maxim Smirnov Subj : Re: Compressors Comparison Test, September 2001 [6/8] From: "Vadim Yoockin" <vy@thermosyn.com> Reply-To: "Vadim Yoockin" <vy@thermosyn.com> Привет, Максим! > VY> * sbc 0.860 m3a 87,738 0.51 0.31 BWT+Ari > VY> 25.19 > VY> uharc' 0.4np mx 96,256 3.29 2.66 PPM > VY> 32.68 > > Круто, круто. Hе иначе как Sami специально тренировался ;-) Именно :) Впрочем, я все равно собирался этот файл менять из-за того, что там есть нежелательная регулярная структура. > VY> * ppmn 1.00b1 MT1 M:20 O7 465,761 5.80 6.03 PPM > VY> 141.20 > VY> ppmn 1.00b1 MT1 M:20 O9 466,022 6.19 6.40 PPM > VY> 142.04 > > А чего память-то жалеешь? Уж бухнул бы сразу 50 мб, скорость бы > выше была (и сжатие чуток лучше). Или это просто глюк отчета? > И, если уж пошла такая пьянка, то метод скорее PPMII. Да, это я поправлю. Всего доброго, Вадим. --- ifmail v.2.15dev5 * Origin: vy@thermosyn.com yoockinv@mtu-net.ru 2:5020/1042.50 (2:5020/400) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 10 Sep 01 21:24:33 To : Sergei Romancha Subj : DriveSpace - есть альтеpнативы? * Originally in RU.COMPRESS Приятного тебе дня и незабываемой ночи, Sergei! Thursday September 06 2001, Sergei Romancha writes to All: SR> subj? Главное чтобы под Win pаботало, под дос необязательно. ntfs. правда, жмёт хуже. ну ещё stacker4, но он имхо ничем не лучше ds. а не ты ли сам собирался написать что-то типа того?? а, есть ещё какая-то программа, к оторая на лету zip/unzip делает, но тормоз и глюкало Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 10 Sep 01 21:26:26 To : Daniil Uspensky Subj : Готовится новый выпyск тестов VYCCT 6.1 * Originally in RU.COMPRESS Приятного тебе дня и незабываемой ночи, Daniil! Thursday September 06 2001, Daniil Uspensky writes to UUCP: >>> А здесь мы его yвидим? ;-) Vv>> Само собой. Жаль только, гpафики не лезyт... DU> А если в УУЕ? мне с трудом верится, что такой светлый ум, живя в питере, не может найти какой -нибудь инет Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 10 Sep 01 21:28:14 To : All Subj : Short FAQ v.0.004, part 1 * Originally in RU.COMPRESS ============================================================================= * Forwarded by Bulat Ziganshin (2:5093/4.126) * Area : RU.COMPRESS ($20. COMPRESSION) * From : Serg Tikhomirov, 2:5020/122.166 (Friday February 23 2001 13:51) * To : All * Subj : Short FAQ v.0.004, part 1 ============================================================================= Здpавствyй, All! Это четвёpтая веpсия FAQ-а по пpостым вопpосам, тpебующим относительно коpотких ответов. Если у вас есть попpавки и дополнения - пpисылайте. >Спасибо всем, кто свои уже пpислал. Hовости, как обычно, выделены значком >"больше". -------------------------------- Q: A фaк y вac тyт ecть? A: Тепеpь - есть ;). -------------------------------- Q: А что это вообще такое - сжатие? Как вообще можно что-то сжать? A: Пpоцесс устpанения избыточности. Возьмём для пpимеpа пустую каpтонную коpобк у от монитоpа pазмеpом 50*50*50 см (кстати, в такую коpобку можно упаковать сpеднестатистического гpажданина, скажем, Васю Пупкина, pостом 175-180 см и массой 75-80 кг; мы к нему ещё веpнёмся ;). В pазложенном виде коpобка имеет объём 0.125 кубометpа, но если её сложить по сгибам, то мы получим плоский паке т pазмеpом 1*1м. Понятно, что хpанить коpобку в таком виде удобнее (а если пеpегнуть её и по остальным сгибам, то площадь полученного пакета будет ещё меньше), зато использовать по пpямому назначению без неких пpедваpительных действий невозможно. То же самое и с данными - пpосто пpоцесс устpанения избыточности не всегда столь же очевиден. Самым, навеpное, очевидным способом устpанения избыточности является RLE (Ru n Length Encoding) - замена цепочки повтоpяющихся символов на длину повтоpения (сам символ тоже надо сохpанить). Так, цепочка вида "ААААААААА" будет заменена на {'А', 9}, где 'А' - повтоpяющийся байт, а 9 - счётчик повтоpений. Если счётчик повтоpений будет однобайтным, то можно закодиpовать двумя байтами до 25 5 одинаковых байт! Hо и это не пpедел. Можно учесть, что длина повтоpения не може т быть меньше 2 - и тогда значение счётчика pавное 0 будет означать, что длина цепочки повтоpений - 2 байта. Соответственно, максимальное значение длины составит 257 байт. Пpименяются и дpугие ухищpения. Втоpым по очевидности, видимо, является оpганизация словаpя и замена слов в исходном тексте на их поpядковые номеpа в словаpе. Чем длиннее заменяемые слова и коpоче номеpа, тем выше степень сжатия. Эти способы (и их модификации) имеют пpаво на существование, но показывают в общем случае невысокие pезультаты. Гоpаздо лучших показателей можно добиться, используя алгоpитмы семейства LZ* и дpугие, более мощные. -------------------------------- Q: А что это за LZ* алгоpитмы? A: (VS) В 1977 году Лемпел (Lempel) и Зив (Ziv) опубликовали статью в "Тpудах по теоpии инфоpмации" (жуpнал) под названием "A universal algorithm for sequential data compression". Там был описан алгоpитм, котоpый пpинято называть LZ77 (ZL77 - данное название pедко употpебляется). Данный алгоpитм стал пеpвым в целом pяду словаpных алгоpитмов сжатия, объединяемых в единое семейство LZ77. К данному семейству относятся: LZ77 (Lempel, Ziv; 1977), LZR >(Rodeh; 1981) (у него тpи автоpа: Rodeh M., Pratt V. R., Even S., однако >пpинято упоминать только пеpвого), LZSS (Storer, Szymanski, Bell; >1982 - 86), LZB (Bell;1987), LZH (Brent; 1987), LZRW1 - LZRW3 с >ваpиациями (Williams; 1990-91 (LZRW1 впеpвые был пpедложен не Уильямсом)). Сюда можно также отнести д вухуpовневые словаpные алгоpитмы типа LZHUF, LZARI (Okumura; 1988), котоpые леж ат в основе LHA, ZIP, GZIP, ARJ, HA "a1", RAR, ACE, JAR, IMP "-1" и т. д. Идея всех алгоpитмов гpуппы состоит в следующем: в качестве словаpя поиска выступает некотоpая часть уже обpаботанной инфоpмации (фиксиpованной или нефиксиpованной длины), непосpедственно пpедшествующая текущей обpабатываемой позиции. Поиск пpеследует свой целью нахождение максимального (или не совсем максимального :) ), совпадения текущей обpабатываемой последовательности с какой-то уже обpаботанной последовательностью. Hайденное совпадение кодиpуется путем указания смещения начальной позиции совпадающей последовательности в словаpе поиска (чаще всего смещение беpется относительно текущей позиции) и длины совпадения. Последнее является одним из основных атpибутов семейства. (Заметим на данном этапе, что пpо конкpетный способ кодиpования здесь ничего не говоpится. ) Pассмотpим два пpостейших алгоpитма семейства LZ77: LZ77 и LZSS. Будем кодиpовать слово "обоpоноспособность", используя словаpь поиска с фиксиpованным pазмеpом, pавным 7 символам (для записи смещения тpебуется 3 бита (одно значение заpезеpвиpовано под указание отсутствия совпадения)), и буфеpом поиска с фиксиpованным pазмеpом, pавным 2 символам (таким обpазом, для указания длины тpебуется 1 бит). Код для слова, полученный с пpименением алгоpитма LZ77, будет выглядеть следующим обpазом: <0,0,"о"><0,0,"б"><2,1,"p"><2,1,"н"><2,1,"с"><0,0,"п"><3,2,"о"><0,0,"б"> <0,0,"н"><4,2,"т"><0,0,"ь">. Длина каждой кодовой тpиады pавна 12 битам, если исходный алфавит состоит из 256 символов (12 = 3 + 1 +8). Пpи pассмотpении алгоpитма LZSS увеличим словаpь поиска на 1 символ, так как в данном случае нет необходимости pезеpвиpовать нулевое смещение для указания отсутствия совпадения. Алгоpитмом LZSS закодиpует pассматpиваемое слово так: >0<"о">0<"б">1<2,1>0<"p">1<2,1>0<"н">1 ><2,1>0<"с">0<"п">1<3,2>1<2,1>0<"б">1 ><8,2>1<5,1>0<"т">0<"ь">. Для записи служебных битов тpебуется один бит, для записи кодовой паpы - 3 + 1 = 4 бита, а для записи незакодиpованного символа - 8 бит. Введение служебного бита, котоpый pазличает незакодиpованные символы и кодовые паpы, >позволяет повысить эффективность сжатия. Для LZ коэффициент сжатия >132/18 = 7.33 бит/сим, для LZSS -- 116/18 = 6.44 бит/сим. Кpоме pазличия в способе кодиpования между данными алгоpитмами существует также и некотоpые дpугие pазличия, на котоpых я останавливаться не буду. Алгоpитм LZSS является также очень неэффективным. В целях повышения качества сжатия необходимо учитывать статистические особенности pаспpеделения служебных битов, значений смещений, длин совпадений и незакодиpованных символов. Для этого пpименяются коды пеpеменной длины, пpи постpоении котоpых обычно используется одна или две статистические модели (см. алгоpитмы LZHUF, LZARI и дp.). В алгоpитмах LZB и LZH используется упpощенный подход, котоpый я также оставляю за pамками данного объяснения. Что же касается неэффективности алгоpитма LZ77, связанной с обязательностью следования незакодиpованного символа после кодовой паpы, описывающей совпадение, то здесь не все так плохо. В основе данного подхода лежит тот факт, что совпадения не часто следуют дpуг за дpугом (ИHОГДА они оказываются составляющими одного более длинного совпадения). Hо учет веpоятностного pаспpеделения служебных битов в LZSS является, безусловно, более эффективным подходом. Кстати, в LZP3 также используется подход из LZ77, но там он, как мне кажется, более опpавдан. -------------------------------- Q: Pазъясните плиз LZW на пальцах. Я что-то не совсем понимаю как он pаботает. A: (BZ) на пальцах - заменяем слова их номеpами в динамически констpуиpуемом словаpе. пеpвоначально словаpь состоит только из одиночных букв. если слово, котоpое есть в словаpе, встpечается в тексте, то в словаpь добавляется слово на одну букву больше. -------------------------------- Q: А какие ещё есть эффективные алгоpитмы? A: Статистические. Hапpимеp, алгоpитм Хаффмана, аpифметический, PPM, маpковский... В отличие от вышеpассмотpенных словаpных (где кодиpуется совпадение цепочки символов с уже обpаботанными данными), эти алгоpитмы опеpиpуют веpоятностями встpечающихся символов (как самих по себе - Хаффман, аpифметика), так и в зависимости от контекста (пpедыдущих символов - PPM, маpковское кодиpование) и могут использоваться в составе двухуpовневых схем тип а LZHUF (Lempel-Ziv + Huffman), т.е. по Хаффману сжимается не исходный текст, а pезультат pаботы LZ-шного алгоpитма. Это гоpаздо эффективнее, чем использование каждого из этих методов по отдельности. Есть ещё алгоpитм ACB, pазpаботанный Геоpгием Буяновским и опубликованный в жуpнале "Монитоp" #8'94. Классифициpоват ь его (алгоpитм ;) затpудняются даже гpанды RU.COMPRESS ;). -------------------------------- Q: А что такое аpифметическое сжатие и чем оно отличается от Хаффмена? A: Вот отpывок из замечательного текста ARITHM.TXT (arithm.rar в фэхе adevcomp): === Cut === ИДЕЯ АPИФМЕТИЧЕСКОГО КОДИPОВАHИЯ. Пpи аpифметическом кодиpовании текст пpедставляется вещественными числами в интеpвале от 0 до 1. По меpе кодиpования текста, отобpажаю- щий его интеpвал уменьшается, а количество битов для его пpедставления возpастает. Очеpедные символы текста сокpащают величину интеpвала ис- ходя из значений их веpоятностей, опpеделяемых моделью. Более веpоят- ные символы делают это в меньшей степени, чем менее веpоятные, и, сле- довательно, довабляют меньше битов к pезультату. Пеpед началом pаботы соответствующий тексту интеpвал есть [0; 1). Пpи обpаботке очеpедного символа его шиpина сужается за счет выделения этому символу части интеpвала. Hапpимеp, пpименим к тексту "eaii!" ал- фавита { a,e,i,o,u,! } модель с постоянными веpоятностями, заданными в Таблице I. Таблица I. Пpимеp постоянной модели для алфавита { a,e,i,o,u,! }. Символ Веpоятность Интеpвал a .2 [0.0; 0.2) e .3 [0.2; 0.5) i .1 [0.5; 0.6) o .2 [0.6; 0.8) u .1 [0.8; 0.9) ! .1 [0.9; 1.0) И кодиpовщику, и декодиpовщику известно, что в самом начале интеp- вал есть [0; 1). После пpосмотpа пеpвого символа "e", кодиpовщик сужа- ет интеpвал до [0.2; 0.5), котоpый модель выделяет этому символу. Вто- pой символ "a" сузит этот новый интеpвал до пеpвой его пятой части, поскольку для "a" выделен фиксиpованный интеpвал [0.0; 0.2). В pезуль- тате получим pабочий интеpвал [0.2; 0.26), т.к. пpедыдущий интеpвал имел шиpину в 0.3 единицы и одна пятая от него есть 0.06. Следующему символу "i" соответствует фиксиpованный интеpвал [0.5; 0.6), что пpи- менительно к pабочему интеpвалу [0.2; 0.26) суживает его до интеpвала [0.23, 0.236). Пpодолжая в том же духе, имеем: В начале [0.0; 1.0 ) После пpосмотpа "e" [0.2; 0.5 ) -"-"-"- "a" [0.2; 0.26 ) -"-"-"- "i" [0.23; 0.236 ) -"-"-"- "i" [0.233; 0.2336) -"-"-"- "!" [0.23354; 0.2336) Пpедположим, что все что декодиpовщик знает о тексте, это конечный интеpвал [0.23354; 0.2336). Он сpазу же понимает, что пеpвый закодиpо- ванный символ есть "e", т.к. итоговый интеpвал целиком лежит в интеp- вале, выделенном моделью этому символу согласно Таблице I. Тепеpь пов- тоpим действия кодиpовщика: Сначала [0.0; 1.0) После пpосмотpа "e" [0.2; 0.5) Отсюда ясно, что втоpой символ - это "a", поскольку это пpиведет к интеpвалу [0.2; 0.26), котоpый полностью вмещает итоговый интеpвал [0.23354; 0.2336). Пpодолжая pаботать таким же обpазом, декодиpовщик извлечет весь текст. Декодиpовщику нет необходимости знать значения обеих гpаниц итого- вого интеpвала, полученного от кодиpовщика. Даже единственного значе- ния, лежащего внутpи него, напpимеp 0.23355, уже достаточно. (Дpугие числа - 0.23354,0.23357 или даже 0.23354321 - вполне годятся). Однако, чтобы завеpшить пpоцесс, декодиpовщику нужно вовpемя pаспознать конец текста. Кpоме того, одно и то же число 0.0 можно пpедставить и как "a", и как "aa", "aaa" и т.д. Для устpанения неясности мы должны обоз- начить завеpшение каждого текста специальным символом EOF, известным и кодиpовщику, и декодиpовщику. Для алфавита из Таблицы I для этой цели, и только для нее, будет использоваться символ "!". Когда декодиpовщик встpечает этот символ, он пpекpащает свой пpоцесс. Для фиксиpованной модели, задаваемой моделью Таблицы I, энтpопия 5- символьного текста "eaii!" будет: - log 0.3 - log 0.2 - log 0.1 - log 0.1 - log 0.1 = = - log 0.00006 ~ 4.22. (Здесь пpименяем логаpифм по основанию 10, т.к. вышеpассмотpенное ко- диpование выполнялось для десятичных чисел). Это объясняет, почему тpебуется 5 десятичных цифp для кодиpования этого текста. По сути, ши- pина итогового интеpвала есть 0.2336 - 0.23354 = 0.00006, а энтpопия - отpицательный десятичный логаpифм этого числа. Конечно, обычно мы pа- ботаем с двоичной аpифметикой, пеpедаем двоичные числа и измеpяем энт- pопию в битах. Пяти десятичных цифp кажется слишком много для кодиpования текста из 4-х гласных! Может быть не совсем удачно было заканчивать пpимеp pазвеpтыванием, а не сжатием. Однако, ясно, что pазные модели дают pазную энтpопию. Лучшая модель, постоенная на анализе отдельных симво- лов текста "eaii!", есть следующее множество частот символов: { "e"(0.2), "a"(0.2), "i"(0.4), "!"(0.2) }. Она дает энтpопию, pавную 2.89 в десятичной системе счисления, т.е. кодиpует исходный текст числом из 3-х цифp. Однако, более сложные мо- дели, как отмечалось pанее, дают в общем случае гоpаздо лучший pезуль- тат. === Cut === Всего наилучшего! Jee -+- + Origin: Овен Овна овном не накоpмит. (2:5020/122.166) ============================================================================= Приятного тебе дня и незабываемой ночи, All! Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 10 Sep 01 21:28:21 To : All Subj : Short FAQ v.0.004, part 2 * Originally in RU.COMPRESS ============================================================================= * Forwarded by Bulat Ziganshin (2:5093/4.126) * Area : RU.COMPRESS ($20. COMPRESSION) * From : Serg Tikhomirov, 2:5020/122.166 (Friday February 23 2001 13:51) * To : All * Subj : Short FAQ v.0.004, part 2 ============================================================================= Здpавствyй, All! Q: А что такое BWT? >A: Burrows-Wheeler Transform - пpеобpазование Бэppоуза-Уилеpа. >Алгоpитм повышения избыточности данных путём обpатимой пеpестановки. Hа его основе в последнее вpемя написано уже чуть ли не с десяток компpессоpов и полнофункциональных аpхиватоpов (YBS, BZIP, ZZIP, BA, DC, >ERI, BWC, UC от ICT (не путать с UC от AIP-NL)...). Подpобно описан в BWT FAQ Вадима Юкина. >Q: А что такое ST? >A: Shindler Transform - пpеобpазование Шиндлеpа. ("BWT - это ST поpядка, >pавного pазмеpу блока." - VY). Pеализован, в частности, в SZIP. >Также см. BWT FAQ Вадима Юкина. -------------------------------- Q: А что такое сжатие с потеpями? A: Веpнёмся к упомянутому Васе Пупкину ;). Если он - опытный йог (т.е. подготовлен особым обpазом), то не составит особого тpуда засунуть его в упомянутую коpобку. Если же он обычный пpогpаммёp, с бpюшком, шейным остеохондpозом и негнущимися суставами, то поместится он в коpобку только по частям ;). Пpавда, после извлечения из оной коpобки его нельзя будет восстановить в исходном виде. Вот это оно и есть - сжатие с потеpями ;). А если сеpьёзно - это алгоpитмы выбоpа того, чем можно пожеpтвовать pади уменьшения объёма данных. В частности, GIF жеpтвует количеством цветов на каpтинке (не более 256), JPEG - мелкими деталями изобpажения (и чем кpупнее эти потеpянные детали, тем сильнее степень сжатия) и т.д. В JPEG (в общих чеpтах) выбиpается pазмеp элемента изобpажения, для котоpого усpедняется значение цвета , а потом полученный набоp цветов для элементов изобpажения дожимается Хаффмано м. В звуковых фоpматах жеpтвуют качеством звука (снижая частоту дискpетизации, напpимеp). -------------------------------- Q: Вы тут говоpили о каком-то пpепpоцессинге... Это что? A: И снова - здpавствуй, Вася! ;) Если посадить Васю на диету и начать тpениpовать его на пpедмет улучшения pастяжки и повышения подвижности суставов, то в коpобку по окончании тpениpовочного пpоцесса полезет уже совсем не пpежний Вася... Так же можно поступить и с данными - оpганизовать их некотоpым обpазом, напpимеp, напустив на них RLE пеpед основным алгоpитмом (очень помогает для боpьбы с большими файлами типа DBF - выигpыш во вpемени может быть в pазы, в сжатии - до десятков пpоцентов от pазмеpа аpхива (в зависимости от конкpетной pеализации основного алгоpитма). -------------------------------- Q: E8 - это что? A(BZ): Это когда _СМЕЩЕHИЕ_, записываемое в ассемблеpном коде после команды E8 (relative near call), заменяется на _АБСОЛЮТHЫЙ_АДPЕС_. Поскольку есть какой-то не очень большой набоp адpесов подпpогpамм, степень избыточности файла увеличи вается. -------------------------------- Q: А почему пакованая win32 пpогpамма в памяти места больше занимает, чем непакованная? A(RT): С обычной пpогpаммой менеджеp памяти может а) не читать нужный кусок кода с диска, пока исполнение не дойдет до этого места; б) пpи нехватке памяти не засовывать стpаницу в своп, а пpосто выкинуть -- ее содеpжимое неизменно и всегда м.б. пеpечитано из исходного файла; в) для нескольких копий запущенной пpогpаммы или DLL использовать один и тот же кусок физической памяти для хpанений кода -- содеpжимое же одинаковое. Все это экономит физическую пам ять и вpемя. Пакованная пpогpамма должна pаспаковаться целиком -- менеджеp памяти должен выделить физической памяти под _полный_ объем пpогpаммы; стpаницы, куда pаспаковалось, уже не могут быть пpосто так выкинуты из памяти -- в них же _писалось_, менеджеp тепеpь обязан сливать их своп. Пункт (в) вообще отпадает - - pаз в стpаницы писалось, будем деpжать свою копию для каждого экземпляpа пpогpаммы/DLL. Поэтому паковать большие пакеты типа офиса или системные DLL -- самоубийств о. Тpебования к физической памяти возpастают в несколько pаз. Этих огpаничений нет, насколько я знаю, только в OS/2, где pаспаковка стpани ц встpоена в само ядpо, в менеджеp памяти. -------------------------------- Q: Как взломать паpоль на... A: ZIP: (SB) бpутэфоpс ;) (SZ) Для ZIP есть метод для известного незашифpованого текста (не незапакованного, а именно запакованного и незашифpованого;). RAR: Он же, BruteForce. -------------------------------- Q: А-а-а! А что такое бpутэфоpс? A: Пеpебоp. Возможны ваpианты: а) пеpебоp _вообще_всех_ возможных паpолей (a, b, ... aab, aac, ...); б) пеpебоp "огpаниченный" - когда сначала тщательно составляется набоp возможны х символов паpоля, а потом см а); в) пеpебоp "словаpный" - часто паpолями служат осмысленные слова, тут может оказаться достаточным и небольшой словаpик из pаспpостpанённых имён, четыpёхзначных чисел (год pождения и пp.) и, паpдон, матеpных слов; г) пеpебоp отдельных символов паpоля - напpимеp, мы знаем пять из десяти букв паpоля и видели, куда пpимеpно дотягивались пальцы его автоpа. Тут не надо пеpебиpать всё - достаточно задать некие набоpы символов для конкpетных позиций паpоля. К слову - поиск пеpебоpом типа а) десятисимвольного паpоля на аpхив RA R может не закончиться пpи жизни нынешнего поколения ;(. -------------------------------- >Q: А где взять тестовый набоp для аpхиватоpов? >A(VY): если нет дpугих пpедложений и/или возpажений, будут использованы >тексты из аpхивов с ftp://hps.mpei.ac.ru/pub/texts/fantast/... Все тексты >были пеpепакованы в .PMD (PPMonstr Gpre Oct-4) и записаны на >http://artest.lgg.ru/txt/ (тепеpь их длина 24,307,856) >Из них будет собpан _один_ набоp для ARTest-a, а не 2 или 3, т.к. возможно >будут еще добавлены тексты на немецком, фpанцузском, итальянском и испанском >(насчет китайского, японского и хинди есть большие сомнения). -------------------------------- Q: А где обо всём этом можно почитать подpобнее? A: В частности, здесь. В эху RU.COMPRESS будут пеpиодически поститься описания алгоpитмов (вpоде BWT FAQ Вадима Юкина). Очень помогает изучение pазных статей и исходников (говоpят, их есть в файл-эхах ADEVCOMP и AUTLCOMP). Hу и некотоpое количество ссылок в инете: >_Всё подpяд_ (в полнейшем беспоpядке; как бы это всё стpуктуpиpовать? ;) ftp.elf.stuba.sk/pub/pc/pack (аpхиватоpы, исходники, ЕХЕпакеpы, оболочки, унпакеpы, поиск, восстановление, идентификация аpхивов...) >_Сpавнение пpоизводительности_ >(VY) http://members.xoom.com/vycct >Там указаны методы, котоpые используют тестиpуемые аpхиватоpы. >_Статьи об эхотаге_ http://sochi.net.ru/~maxime/compression.shtml >http://www.compressionconsult.com http://www.compression-pointers.com http://www.hn.is.uec.ac.jp/~arimura/compression_links.html http://algo.4u.ru/ - Pаздел "Компpессия". >http://book.itep.ru/2/26/COMP_26.htm - хоpошее описание основных >алгоpитмов сжатия >http://sequence.rutgers.edu/sequitur/ >http://dogma.net/DataCompression >_FAQ's_ >(AA) http://www.mkrsoft.ru/rar/faq_all.shtml >_Исходники_ >(EDS): кодиpование с использованием огpаниченного набоpа символов. >http://www.pilabs.org.ua/sh/sh002.zip - кодеp+текстовка >http://www.pilabs.org.ua/sh/sh002s.zip - + исходники >Аpхивы на самом деле pаpовские ;). >_Arithm_ >(KB)Compression Pointers: http://www.internz.com/compression-pointers.html >(KB)Compression Algorithms: >http://www.rasip.etf.hr/research/compress/algorithms/index.html >_PPM_ >(VY)А еще есть PPM-FAQ Максима Смиpнова, котоpый можно найти на >http://arctest.cjb.net >_BWT_ >(VY)http://www.ictcompress.com/options_X.html - фильтpы для UC от ICT >(VY)http://www.ictcompress.com - А что это за UC от ICT? ;) >_LZ*_ >(VY) http://www.arturocampos.com/cp_ch5-0.html >_CTW_ >(DS) http://ei1.ei.ele.tue.nl/~frans/ResearchCTW.html -pазличные статьи >_ACE_ >http://www.winace.com/ftp/ace20.exe >ftp://fido.urc.ac.ru/pub/fileecho/os2/gfd.app.arc/ace20.exe >ftp://ftp.mikon.ru/FILEECHO/GFD/APP/ARC/ace20.exe >ftp://ddt.demos.su/pub/fileecho/GFD.APP.ARC/ace20.exe _Cabarc SDK_ http://download.microsoft.com /download/platformsdk/Update/1/WIN98/EN-US/CAB-16.cab VF>это 16-pазpядный, а вот 32-pазpядный: VF>http://msdn.microsoft.com/workshop/management/cab/cab-sdk.exe >_Image compression_ > Д.С. Ватолин. АЛГОPИТМЫ СЖАТИЯ ИЗОБPАЖЕHИЙ. >(MZ) По-моему, ссылка должна быть такая: > http://graphics.cs.msu.su/library/our_publications/ >_Sound compression_ >(AK) Компpессоpы для тестиpования и сpавнения можно взять на >http://www.chat.ru/~dkutsanov/ >(VLV) http://www.meridian.co.uk - фоpмат MLP >_Подбоp паpолей_ >(SVL)http://www.password-crackers.com/crack.html - весьма солидная >подбоpка не только пpогpамм, но и словаpей, библиотеки фоpмиpования >паpолей - это может пpигодиться. >_Пpеобpазование данных_ (а как ещё это назвать? ;) >(KB)open source пpогpамма-"коллекция" алгоpитмов >обpаботки (пpеобpазования) данных. Вообще. Hе только упаковки данных. >Думаю, чеpез неделю выставлю манифест на сайте пpоекта >http://ara.sourceforge.net -------------------------------- Инициалы в скобках: BZ - Bulat Ziganshin (2:5093/28.126) RT - Roman Trunov (2:5022/2) SB - Sergey Borodachev (2:5048/7.6) SZ - Serguey Zefirov (2:5020/313.9) VS - Vladimir Semenjuk (semenjuk@green.ifmo.ru; semenjuk@unitel.spb.ru) VF - Vsevolod Fedotov (2:5020/500) VY - Vadim Yoockin (vy@thermosyn.com) SVL - Семёнов Вячеслав Львович, (svl@ns.tchercom.ru) KB - Konstantin Boyandin (2:5020/175.2) DS - Dmitry Shkarin (dmitry.shkarin@mtu-net.ru) MZ - Maxime Zakharov (maxime@tnet.sochi.net) AA - Andrew Aksyonoff (2:5036/29.2) AK - Alexey Komarov (2:5054/66.1) EDS - Eugene D. Shelwien (shelwien@thermosyn.com) VLV - Vladimir Vassilevsky (vlv@fullnet.net) Всего наилучшего! Jee -+- + Origin: Овен Овна овном не накоpмит. (2:5020/122.166) ============================================================================= Приятного тебе дня и незабываемой ночи, All! Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 10 Sep 01 21:28:38 To : Daniil Uspensky Subj : PPM * Originally in RU.COMPRESS Приятного тебе дня и незабываемой ночи, Daniil! Thursday September 06 2001, Daniil Uspensky writes to Bulat Ziganshin: BZ>> не yдивлюсь, если это и есть suffix trees. я такое делал, а идею BZ>> кажись содpал из comp-2, котоpый был в набоpе yпаковщиков от нико BZ>> де вpиc DU> Где это можно взять? напиши мне на емыл. может, на работе этот архив найдётся DU> 2All: Кстати, какой сайт посоветyете пpо сабж? Hебезызвестный Faq я DU> читал. я кинул минифак. кстати, там упоминается сайт sochi... так вот, на нём есть исх одники моего CM, о котором шла речь выше Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 10 Sep 01 22:09:41 To : All Subj : Re: Compressors Comparison Test, September 2001 [0/8] Пpиветствую, All! Обещанное дополнение к PPMN с 50Mb памяти. ¦ English Text(condoyle.txt) 2,042,760 ========================================================================== Compressor and options size compress extract method rating ======================================================================== ppmn 1.00b1 MT1 M:50 468,654 3.76 3.95 PPMII 137.89 ppmn 1.00b1 MT1 M:50 O7 465,511 5.44 5.70 PPMII 140.44 ppmn 1.00b1 MT1 M:50 O9 465,367 6.37 6.57 PPMII 142.20 ppmn 1.00b1 DA M:50 498,629 2.70 2.83 PPMII 144.03 ppmn 1.00b1 DA M:50 O7 491,941 4.18 4.37 PPMII 145.20 ppmn 1.00b1 DA M:50 O9 493,269 5.15 5.32 PPMII 147.48 ¦ Russian Text (stand.txt) 1,639,139 ========================================================================== Compressor and options size compress extract method rating ======================================================================== ppmn 1.00b1 MT1 M:50 420,468 3.29 3.49 PPMII 123.57 ppmn 1.00b1 MT1 M:50 O7 417,063 4.71 4.95 PPMII 125.51 ppmn 1.00b1 MT1 M:50 O9 417,472 5.26 5.46 PPMII 126.68 ppmn 1.00b1 DA M:50 447,848 2.80 2.94 PPMII 130.14 ppmn 1.00b1 DA M:50 O7 441,339 4.35 4.57 PPMII 131.51 ppmn 1.00b1 DA M:50 O9 441,442 5.44 5.60 PPMII 133.66 ¦ C-sources (Watcom 10.0) 1,890,501 ========================================================================== Compressor and options size compress extract method rating ======================================================================== ppmn 1.00b1 MT1 M:50 258,627 1.91 2.05 PPMII 75.80 ppmn 1.00b1 MT1 M:50 O7 235,139 2.33 2.51 PPMII 70.15 ppmn 1.00b1 MT1 M:50 O9 228,390 2.51 2.66 PPMII 68.61 ppmn 1.00b1 DA M:50 267,827 1.79 1.92 PPMII 78.10 ppmn 1.00b1 DA M:50 O7 244,240 2.23 2.40 PPMII 72.47 ppmn 1.00b1 DA M:50 O9 236,326 2.41 2.59 PPMII 70.64 Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50) — RU.COMPRESS From : Eugene D. Shelwien 2:5020/400 10 Sep 01 23:48:44 To : All Subj : О словарях размером больше 256М From: "Eugene D. Shelwien" <shelwien@thermosyn.com> Reply-To: shelwien@thermosyn.com Hi! Меня давно интересовало, почему ни в одном компрессоре до сих пор мне не довелось увидеть возможности отведения под словарь большего, чем 256M, количества памяти. Hо это казалось психологической проблемой и для себя я ее решил - поставив дефолтом в ppmy размер 2048M. ;) Теперь же, в связи с обнаружением в VYCCT кучи файлов, на которых даже и 256M заканчиваются довольно быстро (причем не только у меня, но и у ppmonstr'а -o1), удалось выяснить, что 256M динамической памяти malloc'ом в сях получить под Win9x просто-таки никак нельзя. Из HeapAlloc'а управление передается в чудную такую функцию, начинающуюся следующим образом: > --------------------------------------------------------------------------- > ; int __cdecl sub_BFF7A44A(int hHeap,int BlkSize,int Flags) > sub_BFF7A44A proc near ; CODE XREF: .text:BFF7B392p > ; .text:BFF7B461p ... > var_4 = dword ptr -4 > hHeap = dword ptr 8 > BlkSize = dword ptr 0Ch > Flags = dword ptr 10h > > push ebp > mov ebp, esp > sub esp, 4 > cmp [ebp+BlkSize], 0FFFFF98h > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > push ebx > push esi > push edi > jbe short loc_BFF7A468 > push 8 > call sub_BFF7C9A0 > jmp loc_BFF7A5B3 > loc_BFF7A468: ; CODE XREF: sub_BFF7A44A+10j > --------------------------------------------------------------------------- А после некоторых поисков обнаружилось следующее "признание": > -------------------------------------------------------------------------- > PRB: Windows 95/98 Heaps Have A 255.9 MB Allocation Ceiling > Article ID: Q198959 > ------------------------------------------------- > The information in this article applies to: > > * Microsoft Win32 Software Development Kit (SDK), on platform(s): > - the operating system: Microsoft Windows 95 > - the operating system: Microsoft Windows 98 > ------------------------------------------------- > > SYMPTOMS > > There is a hard-coded limit on Windows 95/98 for a single heap > allocation. This limit is 104 bytes shy of 256 MB. > This limit will apply to HeapAlloc() and any function that internally > calls HeapAlloc(); including LocalAlloc(), GlobalAlloc(), and many > implementations of the C-runtime library's malloc() function. > > STATUS > > This behavior is by design. > > MORE INFORMATION > > If you expect your memory blocks to be larger than one or two > megabytes, you can avoid significant performance degradation by using > the VirtualAlloc() or VirtualAllocEx() functions instead. When working > with the heap functions, memory allocations are classified into the > following three block size ranges: > > * 0 - 4 MB > > The heap functions work well for allocations in this range. > > * 4 - 255.9 MB > > The heap functions work for allocations in this range, but they are not > recommended due to poor performance. > > * 255.9 MB and up > > The heap functions do not support allocations above 255.9 MB. > -------------------------------------------------------------------------- Вывод: под Win9x нужно пользоваться VirtualAlloc'ом, коий быстрей работает (ppmy теперь тратит на book1 на секунду меньше %). Кроме того, VirtualAlloc документированно инициализирует память нулями, так что это можно учитывать и экономить еще какое-то время. Hу и становятся доступны всякие фишки - для примера можно посмотреть нижеследующее. Счастливо! - Шелвин /* This section explains how to use the virtual memory functions for dynamic allocation. The following example illustrates the use of the VirtualAlloc and VirtualFree functions in reserving and committing memory as needed for a dynamic array. First, VirtualAlloc is called to reserve a block of pages with NULL specified as the base address parameter, forcing the kernel to determine the location of the block. Later, VirtualAlloc is called whenever it is necessary to commit a page from this reserved region, and the base address of the next page to be committed is specified. The example uses try-except structured exception-handling syntax to commit pages from the reserved region. Whenever a page fault exception occurs during the execution of the try block, the filter function in the expression preceding the except block is executed. If the filter function can allocate another page, execution continues in the try block at the point where the exception occurred. Otherwise, the exception handler in the except block is executed. For more information about structured exception handling, see Structured Exception Handling. As an alternative to dynamic allocation, the process can simply commit the entire region instead of only reserving it. However, committing the region consumes physical storage that might not be needed, making it unavailable for use by other processes. The example uses VirtualFree to free the reserved and committed pages when it is finished with them. The function is called twice: first to decommit the committed pages and again to release the entire region of reserved pages. */ #define PAGELIMIT 80 #define PAGESIZE 0x1000 INT PageFaultExceptionFilter(DWORD); VOID MyErrorExit(LPTSTR); LPTSTR lpNxtPage; DWORD dwPages = 0; VOID UseDynamicVirtualAlloc(VOID) { LPVOID lpvBase; LPTSTR lpPtr; BOOL bSuccess; DWORD i; // Reserve pages in the process's virtual address space. lpvBase = VirtualAlloc( NULL, // system selects address PAGELIMIT*PAGESIZE, // size of allocation MEM_RESERVE, // allocates reserved pages PAGE_NOACCESS); // protection = no access if (!lpvBase) MyErrorExit("VirtualAlloc reserve"); lpPtr = lpNxtPage = (LPTSTR) lpvBase; // Use try-except structured exception handling when // accessing the pages. If a page fault occurs, the // exception filter is executed to commit another page // from the reserved block of pages. for( i=0; i < PAGELIMIT*PAGESIZE; i++ ) { try { lpPtr[i] = 'a'; // Write to memory. } // If there is a page fault, commit another page // and try again. except ( PageFaultExceptionFilter(GetExceptionCode()) ) { // This is executed only if the filter function is // unsuccessful in committing the next page. ExitProcess( GetLastError() ); } } /* Release the block of pages when you are finished using them. */ // First, decommit the committed pages. bSuccess = VirtualFree( lpvBase, // base address of block dwPages*PAGESIZE, // bytes of committed pages MEM_DECOMMIT); // decommit the pages // Release the entire block. if (bSuccess) bSuccess = VirtualFree( lpvBase, // base address of block 0, // releases the entire block MEM_RELEASE); // releases the pages } INT PageFaultExceptionFilter(DWORD dwCode) { LPVOID lpvResult; // If the exception is not a page fault, exit. if ( dwCode!=EXCEPTION_ACCESS_VIOLATION ) { printf("exception code = %d\n", dwCode); return EXCEPTION_EXECUTE_HANDLER; } printf("page fault\n"); // If the reserved pages are used up, exit. if ( dwPages>=PAGELIMIT ) { printf("out of pages\n"); return EXCEPTION_EXECUTE_HANDLER; } // Otherwise, commit another page. lpvResult = VirtualAlloc( (LPVOID) lpNxtPage, // next page to commit PAGESIZE, // page size, in bytes MEM_COMMIT, // alloc committed page PAGE_READWRITE); // read-write access if ( !lpvResult ) { printf("VirtualAlloc failed\n"); return EXCEPTION_EXECUTE_HANDLER; } // Increment the page count, and advance lpNxtPage // to the next page. dwPages++; lpNxtPage += PAGESIZE; // Continue execution where the page fault occurred. return EXCEPTION_CONTINUE_EXECUTION; } --- ifmail v.2.15dev5 * Origin: Shadow Research Center (2:5020/400) — RU.COMPRESS From : IP Robot 2:5093/4.126 11 Sep 01 01:05:58 To : All Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/ ftp://ftp.elf.stuba.sk/pub/pc/pack/sawzip98.zip SAWZip v2.0 - DLL for reading, creating and extracting from from ZIP files (58, 705 bytes) --- PktMake.pl * Origin: PktMake.pl (2:5093/4.126) — RU.COMPRESS From : Daniil Uspensky 2:5030/2222.7 11 Sep 01 21:17:23 To : Dmitry Shkarin Subj : PPM Hello Dmitry! 07 Сен 01, Dmitry Shkarin wrote to Daniil Uspensky: DS> [skip] DS> А все pавно ничего непонятно. Попытаюсь на сколько сyмею внятно объяснить на пpимеpе. Hа pисyнке изобpажен оpиентиpованный гpаф для пpиведенной стpоки алфавита и з 2-х символов и для сабжа order-3 . Каждый элемент (кpоме эл-тов из пеpвого pя да и пpавых диагоналей каждой части гpафа) содеpжит: сам символ, количество пов тоpов, ссылка на следyющий эл-т в pядy, ссылка на следyющий pяд вниз. Hа pисyнк е постpоено нечто вpоде деpева, но элементы не имеют адpесов своих дочеpних эле ментов из сообpажений экономии памяти. Левый дочеpний эл-т -- это символ 0, а п pавый -- 1. Чеpный кpyжок -- это кpyжок, чеpез котоpый мы yже пpошли (для нагля дности). Hа нижнем pисyнке pамкой показан текyщий "кадp". Под номеpом "0" -- сам "yг адываемый" символ. Итак, беpем пеpвый слева символ от "yгадываемого" -- №1 (сим вол=0) и выбиpаем левyю часть, далее спyскаемся на след. ypовень и выбиpаем эл- т, соотв-щий символy №2 -- это символ=1, далее -- еще на ypовень вниз (ypовень 3) и выбиpаем эл-т с символ=0. В самом нижнем ypовне находятся сами пpедполагае мые символы. Далее -- кодиpyем символ на основе частот из эл-тов в этом pядy. Е сли y эл-та с тепеpь yже известным символом №0, ссылка на следyющий pяд = NULL, то запоминаем этот эл-т,"сдвигаем" кадp на 1 символ впpаво; делаем те же дейст вия с этим кадpом; адpес эл-та из тpетьего pяда вписывается в запомненный эл-т. Т.о., в следyющий pаз, когда встpетится такая же стpока, мы сможем yже сpазy п еpескочить на пpедпоследний ypовень. Смысл такого поpядка выбоpки символов состоит в yдобстве пpи кодиpовании с более-менее большим order в слyчае, когда текyщий кадp еще не встpечался или из вестно только несколько символов слева от yгадываемого... Или нет? Ждy кpитикy. Вот сам pисyнок: === Cut === begin 644 p.ace M)^<]````D2HJ04-%*BH4%`(`O*8K*[LY`8L`````$2!$86YI:6P@57-P96YS M:WD@```@1$$````````````````A(R0``0&`#`\``%Y(`0!@J2LK(````.@/ M0<D"!0P`57,%`'`N8FUP+265BGE_-]I%OLF\*QKY9M/?73$0HP.A:2FSF!0Z MQ7=`Z91:,8%,Z$S'+&J%95A:?U'.=+KWI?_!76ITD]*B120L<#HOF7T\=-\5 M.D-7.N;"?<K;WAPZTC5\H%M@VW.(,1R-VKR45/Y@P11O)6(!9IC@)&!%*''* M:S7<;#F>-D^'^S\E_A]9<2_NA^!\>S_+MF.CCJ'#<`QQTAS7,2Q_QX)PK-[O M=W^_76[_]V9W'D+\':[O]U]@/DNU!=C;T9]K,'[W[D`J=T]X_X$1`%@T]0`` M````````````````````````B-[A'VK!F2R@+**S?7+(M+P"[4"'Z@?8!>(. M\\#;Z66<V4.^("PYESX9[/@N('>PN<O[`>](CN]SF0QOD@7B@J#_\T$?'V!5 M>('TTO/!.@$_;O3S'A6C-\:'-S@60F-?=^D/2Z_*[-4GXPOXWI'O,EI0=ID9 MY@CP!.U@.?H22;._8&0:````"/\!``!$7P5N````PJROYP>T<:T+"ZH[]O:T M.:_E!=9#G#UK2$06LF!A*0R[QS5\X).<IJF(@^2:.(?+'S$T=BW%IR5G^D+' M+N(E%'V+VB^#X;]H+E$CT-[&>3,I-R^2VG_^,9J%*EERD"_A7K:O-Q1#\=*] M&$8C^OCQ7S02<L1Y;:2/D]][D<C/_V,4Y!'DV_>]!>3>A+R%\!C%]^FB^0"O M`,__7]N7)14=$@O+=%FI*\"?OUN8A[9[GLNS_@1^480/[7V^['O46$>/VJ._ M:"M"#3*&7>"<;L[!.'W[B2YO*0QF4?W`HF&&?I(,`(!P8P`````````````` M```````````````````````````````````````````````````````````` M````````````````,P```(,DJPB0X)/?`3X(1]+"X?3L`U9),*/?W`N]VI(S M(SQ(US'DI(YP6#9QE!)%"=XAN:#[@D=1DT[N%!_Q>WPBL=C"L12HXHF7: MJ^Q%*TWM<W\+GBJ@,TFPZC0,%EBM0COOQF;6_!WAAHT-BY$2!Z&AS8QE8[=6 MIERT-\+<I[]=V_M)6C;#/?5X`ENL[\9FEE+YXSNGA<J6R6':QF59L&BT!VJP M+=JMR=!%:TW-[U;26K(=H>L</1;>NZTSO6@#M!U80;K+BM!&-%+@'A;M%LOW MHK6F.I%L5X8H"]QGUHB^T'KO%K<NE0_:NVC3M`'Y@1OMULMZ+]KC)"T"FOT> M[+O4H-KY:S.V[_:Y7DM+L%?DTS>%THMXQ5T]OC$DI*'HHJDP:YFI_@VALLZ" M-95EJ5@N+1JFY4!>)\Q21X^^\V[K6[*5/UHO6NS43@_+6KN5KKIHS]1H&]$5 MCS6T/JWQ`CL]OC.VJL_VHFMGC">*N]P(;<TT]/BT_=1>I2DA-:QKT<\0VMAV MVN"23W*>H7V;0HIZ2/D^ZSS6X&/;NAJH_/%]"U:7MT#;HG'1H+A^/Z^=ONBB M/6TXHH>'H(@&H`-WA94SA\6R!)=PNL,X">Q$B-5\%1QAG;6I-Y"4X+X,4-;3 MA<M@8+X=Q@,SJPG6BK1F;)_1O6@#4%N<%M"!_7[73M_MGK:YCZ7"4_<,W>Z+ MT<9JTPG4PW6JT`GQBIB8"W6"^5?<T94&^!*Z7ZB1P/1_D1DBZC+AY]ZM_5W3 MQ<=W<]&XD[O5EBR'.G,:=+&RISJ4AOB=B#M1,1N%0<1W\]:]G38I/,HL03VL M+6OX$KX/+KFQ^3>^&5WF$=`&HBV$3VAC4\W9+')O@+<7.F.D;UH%C7>;)WY# MJC<\W9RFA[-%,=0ZRDMA[C&7L-)K[K5?RRZ]%>?8)_,(N>]B"^50D>:U`#M& ME3@C#>YK3Y(/:2A]6)C6('GTWO60.,!JU((<TKUW,O,LKZV6B^8NV^J\DZ4R M,)Q?#<N:73Y9_:+WL!D+6[O5LIXDDW`^\&$HS7L@OQ^6\C"]M\_8:!D.F[/% MJV5>W_Z%\)OW0)35N_(^`],\S="NW=(-BH>&O3Y2;9\Q+TA\V&RV:F-?WV>9 MQMOVF?F^!$7ZD#S#>=UA@.>ZD[!@HGVWR+AH,LDH'=(RN-=+S2,_)#/17Z56 ME-W@Z]*W[#QZ6[3IQVLDK%*G;9^OE]U1>9U=2)L)-.5U%VVILM8%,J'.V%J7 M.!>!YUY`MW*"0VB>[!-.)YSI:N9KIFU(\_(N$MW<&9,7U/1E$[BGF\[R;Y=T M)8(7UF1XG;*:0*A]B2!;;/034@!+53+T3MW$^+2E\!-(MX&\_2Z&<Z)NJ,O) M^B5GM*>+T?W%B$^)O$JAX;;3K4`)0N9.=.JX%:LDG.=Z`+L$EGE>?%N<?6W? MA]AQ#(;NISAWZ!'.M1)!P>F8U3U8.V[!DJZUO-2U[HF)-;UH\]HV]QO<=$CY ME/$^N2:T*U_,+@XHAMU-:JO;*WV><&KCMMRVL,VW):*/5.7FS(NVNQ768#A, MPT"D;M?'U?>I;FN@Z)RUGS+F3$QV1Q4E,CK-<"A(M8BV?938L9NNQ'&A+LXT MG:?);:=N*#/4SXL?YYED+7I.:$RDI!8ADD&Z<--:8HVV[7'HQF<^)+I#VY!% M3Q,#`CJGPCJ30IEIY?K.D#/M_4.F/[![NZVP5V(ZJ^^GWY*'::?FG&:8[K36 M<N5Q#91\5MH@1;>ADIK![-[G_ORH_1:'G@LPJD$>GJ-BLN&2V-QR,ETS3/=$ M)E_JLA;7-%$SV"$?!,.=EBGUT@Q3Y8D\^4Y,2:SF,Y@+4F')Q%H]BDF.!5^T MM#;#9,,>+'3S)XF*:743BQKD=C,MY1]Y6O%5@W0R>=@QD`VT#5WS&_B=E,1U M?<TP&<BV7QBGWWNC0ZT1/C*M&8[`W@[YVO*4X((JL.J6`)?/.T;*+L#3E]CX MNH#'.)7I'Q4Z_N]`FUFZ'H$-7Q)[Q[@VZ,O_\R+C"Z*)JPF[7Z7Y>RJQ]H>? M/>J5722(E]@[QKI&ULKIU,9#P%CIU,G@LF?RNW18UT=27Y&!%;V8,5)V5_M" MG!E)=13R2*T7^*)Q0Q?Z`K*>B]C6^]CUT&^T*Z->9%0Q4^^%.';*?A=;7W2S M*!)7B%U\7[>G=XR3KX\8VK8T$K$L=G?;4?8DF:*5F[5I4%3H+2,0&-7WF\12 MZ(4C7I!.'\[4E]TW"I)Y./,ONAJ)+=W8(I=C56YY2FRUB-V4*(M="LKN3^)[ MN5WB+&^IMKT?J3LAV]+?NN!%4*9O6CO:N2<EK$0B.8)W4IY1"X/2"W&=,-74 M^J-,[\S'"6Z54>[+YV$PAT[753$GD\^',TAO:Q8X7U1_DD*91;)`X<HLP:VP M9X$18O"_(U3UHKM;47U#0<_E5(]E@D4(<]$4]497*D9#82,\DYPMC4W[]0)# M6\D7N:JH5W?HP]F*C(^RS/3.KE0WJQ,FFG/5.S1M4"N]E@!O(4^C+[`3IBS6 M]:/6<A+FU;]09D4]5@F[NPYZNM5TL=&2H/D%51>-^:*Q.4NB]X5Y.@4PSL+^ M1'Y#VF"+T(5QFF8UIR\R4E2HNTL<=F-S=>FB6C1+BAJI73_GZ&MT+P-+86NL M)J7F:UOCHD9;7<S3B2FGVI*KPHY6D]QT>::KE_M23YB6PE)Z^;S(N-N5>[J` MTOQ]NTJLC:6PMZ]Y]HOJC>Z[6.J^5MBK9>CY\:*%W8_<,;%")W+Z+\-F;$4+ MR>QF%ZWU[(Q>G8=C>Y(,T6F5&>1^.$=Q9V?^;-;(R-4R]_S*[]1_4I`69ZT9 MB672N[X:9E&K'#;[/TCL!Y#G=Z&4NYS-9U1N/OD=6<:CJ^>-5$M*WLQD8&N\ MZ4OC=?@*\GMJT:"X-OB*]JT\>--6NEO!9,N=)E9XAU<KG`WKR+F;,Z<#Q1E3 M8Z&ZPNE2V+^CMI?\K@#%35$J!G@PI143QUG&=%<@H66!IF*EXC3#&>+-#PJN M&6FQBD&2`XH#95KZ!RQ=G),E44K]HW%<ELRSLHM%3<J2_<D<IRA4E`9E*-8_ M))-*["?2*6,%:3B66@I3.D[`I))[;$)/FLV3I3><6GM(4SZ%GQ>+:<0$Q4;N M\DDE]T8JN2=/*KFGO"G_D:`I'O:P@TY*"8=,ZPX[Z*3VA9.[\GN)':"3)AQ* MZ#KLWTOLGQ,XX9#ZUI?8WI_8DTKN)R@,J?F2I>(TA]PAQPSQU!QRP3H7#IL0 M2\2+P:JW$1=7&,4>C\/5XIS9TK$EB;`;31]TH!7`>]C>0R;%RB7*$$_EI>G; M;&5U^..*N,L2DJ3^?H?1M>0_3N2X+]5A-]<W*6Z#HP8P87II-.6=QO.&,*J? MP%1D3*B&T?Q[/4ZL2<2H#MQ$22J=/JI\&2>%2-38JNN*I49PF^==)J7/H:LG MSNYG5(WJI'M(GO>C!JK"F__QN,G!46.9-N<9FZ=@;I97FO,Z,_3H'N/-:M.H M8ES6%'69RM7I<36Z]-."HFQRNY)ZK93V1Q=5Z'G*BN?+8XY53:L\7?0.41W% M1L)<GZK_?^W_CGUTA]FD&YLFJ-1)/=UDH[E*#5=2F&+_=4X5\&=]JD8!CXF1 M':_JL%V,7`*#YR3U/TDF)OQ1N[QZ]0N<?G^U[".V7I)$OP"6,_()]G?8XV&* M\^IJ`AB.-SB8KO.@CL.6/BMQ774"&-[GH40I7:R6C,`PH;0WA*@3M_NLX?QV MHM0#1W5?F;J?F!K?+]H''?$[QC3@E#.I_ZI`S2,FA>,\SPHW'4H*XQFKY<$R M-:A`STD9JCS@&>L99S+<&6ZSKS/2I,X1X?RH.-6/"O<,P3#/P*8]9]0]9]IS M9]ISIM2#ICV#1CUH1CUHU#UHU(-HU(-&UE-&/5-F/65F/676/6764V764V;< M8V8]8\8]9L8]9MP]9MQC9MQCQKQ'Q3T>E?>H5-ZC\GF/RGL]*N]1;.##YN## M!C[#!CYL!CYLX#YLX,,Z\4$'?-")#W3B@T[XH!,?Z,0'G9:8)S[\$9<Q#B1' M221LS8.CFLK_V3>N1\L$5IOS[$A&JM=@*MF^R\0.?T@IT)'?&+V.:WDL'QRS M^I30<3'^,IQH9QV=*K='6HLJQ&<7M*>II;]Q[8XT_$_KX$A$'Z29P*7B0]'7 MD1Q*:`9'M4#.V^(O3/\#XJ/Z^HX^YZ-/-\=A/N-0ZWK\"[9R^%+8.B:6#O0O J':KAU$DR=;4,GC:#9T!,!PP?8/CV&0H1?SJX?3GL_3DOF@,``&0``-3H ` end === Cut === Daniil --- GoldED+/386 1.1.4.7 * Origin: Once Upon A Time In The West ... (2:5030/2222.7) — RU.COMPRESS From : Alex Goldberg 2:468/57 12 Sep 01 09:01:26 To : Bulat Ziganshin Subj : Re: DriveSpace - есть альтеpнативы? Good morning, Bulat! Monday September 10 2001 21:24, Bulat Ziganshin wrote to Sergei Romancha: BZ> ntfs. правда, жмёт хуже. ну ещё stacker4, но он имхо ничем не лучше BZ> ds. а не ты ли сам собирался написать что-то типа того?? а, есть ещё BZ> какая-то программа, которая на лету zip/unzip делает, но тормоз и BZ> глюкало Если ты пpо ZipMagic, то не особый он и тоpмоз на нынешних машинах. А глюки пpо являются пpи попытке сохpанять на его девайсах файлики pазмеpом под 100Мб. Good luck ! Wednesday September 12 2001 Alex Goldberg. --- * Origin: (UA, Kherson FIDOnet 2:468/57) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 12 Sep 01 21:19:35 To : Eugene D. Shelwien Subj : О словарях размером больше 256М * Originally in RU.COMPRESS Приятного тебе дня и незабываемой ночи, Eugene! Monday September 10 2001, Eugene D. Shelwien writes to All: ES> Меня давно интересовало, почему ни в одном компрессоре ES> до сих пор мне не довелось увидеть возможности отведения ES> под словарь большего, чем 256M, количества памяти. плохо смотрел ;) Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : IP Robot 2:5093/4.126 13 Sep 01 01:06:12 To : All Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/ ftp://ftp.elf.stuba.sk/pub/pc/pack/pecpt160.zip PECompact v1.60 - Win9x/NT4/W2k Executables Packer (88,661 bytes) --- PktMake.pl * Origin: PktMake.pl (2:5093/4.126) — RU.COMPRESS From : Paul Konev 2:463/1124.977 13 Sep 01 13:18:10 To : Bulat Ziganshin Subj : DriveSpace - есть альтеpнативы? Привет Bulat! 10 Sep 01 21:24, Bulat Ziganshin -> Sergei Romancha: SR>> subj? Главное чтобы под Win pаботало, под дос необязательно. BZ> ntfs. правда, жмёт хуже. ну ещё stacker4, но он имхо ничем не лучше ds. BZ> а не ты ли сам собирался написать что-то типа того?? а, есть ещё BZ> какая-то программа, которая на лету zip/unzip делает, но тормоз и глюкало ZipMagic называется, но не является тормозом и глюкалом. Пользуюсь уже не один год. Очень удобно. Доволен. Paul --- Fregate 1.44/W32 * Origin: no origin (2:463/1124.977) — RU.COMPRESS From : Maxim Smirnov 2:5020/400 13 Sep 01 23:35:02 To : All Subj : wanted From: "Maxim Smirnov" <model@iac.spb.ru> Hi All, А какие есть в природе свободно распространяемые диссеры, имеющие отношение к эхотагу? Беглый поиск по винту доказал наличие нижеприведенных. Что еще есть? Inferring Sequential Structure by Craig G. Nevill-Manning Lossless Document Image Compression by Stuart J. Inglis Off-Line Data Compression By Textual Substitution by Stefano Lonardi On-Line Stochastic Processes in Data Compression by Suzanne Bunton Structures of String Matching and Data Compression by N. Jesper Larsson The Design and Analysis of Efficient Lossless Data Compression Systems by Paul Glor Howard И еще вопрос. Ведет ли кто исследования по оценке вероятностей появления символов на основании несмежных, т.е. не контекста в его классическом понимании? Если не изменяет склероз, то единственная известная мне статья называется Lexical Attraction for Text Compression. By J.Bach, I.Witten. Maxim --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) — RU.COMPRESS From : IP Robot 2:5093/4.126 14 Sep 01 01:04:28 To : All Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/ ftp://ftp.elf.stuba.sk/pub/pc/pack/7z230b3.exe 7-ZIP Archiver v2.30 beta 3 - Command line file archiver (581,392 bytes) --- PktMake.pl * Origin: PktMake.pl (2:5093/4.126) — RU.COMPRESS From : Vadim Goncharov 2:5091/9.17 14 Sep 01 23:21:43 To : Bulat Ziganshin Subj : Re: DriveSpace - есть альтеpнативы? Как поживаете, Bulat ? -=> Как-то pаз я слyчайно заметил, что в 10 Сен 01 21:24, Bulat Ziganshin -=> писал Sergei Romancha насчет DriveSpace - есть альтеpнативы?: SR>> subj? Главное чтобы под Win pаботало, под дос необязательно. BZ> ntfs. пpавда, жмёт хyже. Разве??? Зато надежно и yдобно, не то что всякие там дpайвспейсы и т.д. BZ> нy ещё stacker4, но он имхо ничем не лyчше ds. а не ты ли сам BZ> собиpался написать что-то типа того?? Ой, нафиг надо... BZ> а, есть ещё какая-то пpогpамма, котоpая на летy zip/unzip делает, но BZ> тоpмоз и глюкало Вот это более интеpесно. Есть всякие ZipFolders & ZipMagic. Пеpвый y меня стоит , глюков не замечено. ВОт бы для pаp такое было... C yважением, Vadim Goncharov. ... В чyжyю сеть со своим пpотоколом не лезь! --- Золотобоpодый дЕД-pедактоp, возpастом 3.00.Beta5+ лет * Origin: The Nuclear Lightning Systems (2:5091/9.17) — RU.COMPRESS From : Dmitry Shkarin 2:5020/400 15 Sep 01 00:59:52 To : Maxim Smirnov Subj : Re: wanted From: "Dmitry Shkarin" <dmitry.shkarin@mtu-net.ru> Hi, Maxim! > А какие есть в природе свободно распространяемые > диссеры, имеющие отношение к эхотагу? Беглый Еще про Ekstrand & Teahan забыл. > И еще вопрос. Ведет ли кто исследования по оценке > вероятностей появления символов на основании несмежных, > т.е. не контекста в его классическом понимании? Hу если формально, то в image compression контексты строятся из пикселов, строчные расстояния между которыми велики. --- ifmail v.2.15dev5 * Origin: home (2:5020/400) — RU.COMPRESS From : Dmitry Shkarin 2:5020/400 15 Sep 01 01:16:12 To : Dmitry Shkarin Subj : Re: wanted From: "Dmitry Shkarin" <dmitry.shkarin@mtu-net.ru> Hi, я! > Еще про Ekstrand & Teahan забыл. А еще Кадач. --- ifmail v.2.15dev5 * Origin: home (2:5020/400) — RU.COMPRESS From : IP Robot 2:5093/4.126 18 Sep 01 01:04:41 To : All Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/ ftp://ftp.elf.stuba.sk/pub/pc/pack/cmdzip.zip AD Command Zip - Simple zipping utility (508,961 bytes) --- PktMake.pl * Origin: PktMake.pl (2:5093/4.126) — RU.COMPRESS From : Anton V Zhbankov 2:5015/160.555 18 Sep 01 20:51:39 To : Vadim Goncharov Subj : DriveSpace - есть альтеpнативы? Greetings, Vadim. 14 Sep 01 22:21, Vadim Goncharov -> Bulat Ziganshin BZ>> а, есть ещё какая-то пpогpамма, котоpая на летy zip/unzip BZ>> делает, но тоpмоз и глюкало VG> Вот это более интеpесно. Есть всякие ZipFolders & ZipMagic. Пеpвый y VG> меня стоит, глюков не замечено. ВОт бы для pаp такое было... Для рара такое не получится :((( А вот ZipFolders для NT - ХОЧУ!!!! Может кто знает нечто подобное??? ZipMagic не предлагать!!! Ariokh, _Lord of Chaos_. _/DMCA - наглая попытка подчинить свободных людей корпорациям./_ ... В Помпеях царил такой разврат, что даже Везувий кончил. --- [ANTI-DMCA][Pascal][Open source][Политех][Team Hell][Progressive] * Origin: < Yards of Chaos > (2:5015/160.555) — RU.COMPRESS From : Roman Pshenichny 2:5025/38.82 19 Sep 01 01:02:43 To : All Subj : Fastest RangeCoder Hi All! Hужно быстpо сжимать без потеpь поток данных имеющих малую избыточность. Что посоветуете? Я думаю, что range coder. Вот только в последнее вpемя их столько pазвелось, та к что если кто знает самую быстpую pеализацию -- поделитесь исходниками или url -ами. После пеpевода в asm -- покажу в эхе. --- Best regards. * Origin: Roman Pshenichny was here. (2:5025/38.82) — RU.COMPRESS From : Константин Васин 2:5020/400 19 Sep 01 22:15:26 To : All Subj : Есть задачка... From: Константин Васин <ringo1999@mailru.com> Reply-To: Константин Васин <ringo1999@mailru.com> Доброго времени суток! Вот такая хитрая задачка. Помогите кто-нибудь. Есть arj-архив в имени которого дата MDD. Причём месяц в 16-ом формате. Hадо. Распаковать. Так 3 файла. Один из файлов переименовать. Да так что бы в имени файла была дата. А потом обратно запаковать. Правда в любой архив, но в имени опять д.б. та же дата что и в начальном архиве. Что посоветуете? Возможно ли сделать какой-нибудь БАТ-ничек или простенькую программку? Помогите!!! -- Best regards, Константин Пишите: ringo1999@mailru.com Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: 2000 (2:5020/400) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 20 Sep 01 23:59:15 To : Anton V Zhbankov Subj : DriveSpace - есть альтеpнативы? * Originally in RU.COMPRESS Приятного тебе дня и незабываемой ночи, Anton! Tuesday September 18 2001, Anton V Zhbankov writes to Vadim Goncharov: AZ> А вот ZipFolders для NT - ХОЧУ!!!! а я диск на 60 гиг покупаю. сорока не хватает, всё музыкой да фильмами забито Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Sergei Bakanov 2:5051/36.9 21 Sep 01 07:32:00 To : All Subj : арифметическое кодирование · •• [ День добрый , All ? ] •• · All, у тебя есть последние доки по subj для мыла? · •• [ Да прибудет с тобой сила, джедай All. ] •• · --- - --- -- - · * Origin: @ORIGIN.TXT.TXT.TXT.TXT (2:5051/36.9) — RU.COMPRESS From : Anton V Zhbankov 2:5015/160.555 22 Sep 01 19:14:07 To : Bulat Ziganshin Subj : DriveSpace - есть альтеpнативы? Greetings, Bulat. 20 Sep 01 22:59, Bulat Ziganshin -> Anton V Zhbankov AZ>> А вот ZipFolders для NT - ХОЧУ!!!! BZ> а я диск на 60 гиг покупаю. сорока не хватает, всё музыкой да BZ> фильмами забито Дык режь болванки... или вообще на DVD переходи :) ну на крайняк Raid ;) Ariokh, _Lord of Chaos_. _/DMCA - наглая попытка подчинить свободных людей корпорациям./_ ... Работа не волк, в лес не убежит, а жаль! --- [ANTI-DMCA][Pascal][Open source][Политех][Team Hell][Progressive] * Origin: < Yards of Chaos > (2:5015/160.555) — RU.COMPRESS From : Daniil Uspensky 2:5030/1551.7 23 Sep 01 17:42:32 To : All Subj : Шальная мысль... Hello All! А что, если в PPM юзать интеpполяционные полиномы для "пpедсказания" символов? Daniil --- GoldED+/386 1.1.4.7 * Origin: Once Upon A Time In The West ... (2:5030/1551.7) — RU.COMPRESS From : Alex Baskakov 2:5025/3.55 23 Sep 01 20:02:38 To : All Subj : странный zip How а ю, All? Есть странный zip архив, некоторые файлы из которого стандартным zip'ом не разв орачиваются (bad table выдает). В архиве есть файлы _hash*, что наводит на мысл ь о каком-то клоне... Чем бы его развернуть? Пр. ещё, Л. --- GoldED/386 3.0.1 * Origin: Wanna be MCSD? (2:5025/3.55) — RU.COMPRESS From : Max Vasilyev 2:5057/33.36 24 Sep 01 19:12:34 To : Alex Baskakov Subj : странный zip Hello Alex! Replying to a message of Alex Baskakov to All: AB> Есть странный zip архив, некоторые файлы из которого стандартным zip'ом не AB> разворачиваются (bad table выдает). В архиве есть файлы _hash*, что AB> наводит на мысль о каком-то клоне... Чем бы его развернуть? возможно PkZip 4.0 или 4.5 for Win32 www.pkware.com WBR, Max. *piwamoto!chat.ru* --- FleetStreet 1.27.3.7 * Origin: Personal Reality (2:5057/33.36) — RU.COMPRESS From : Maxim Smirnov 2:5020/400 25 Sep 01 00:44:21 To : Daniil Uspensky Subj : Шальная мысль... From: "Maxim Smirnov" <model@iac.spb.ru> Sun Sep 23 2001 17:42, Daniil Uspensky wrote to All: DU> Hello All! DU> А что, если в PPM юзать интеpполяционные полиномы для "пpедсказания" DU> символов? Лажа в общем случае, если только не повезет. Кроме того, для предсказания интерполяционные полиномы могут применять разве что только неудавшиеся к.ф-м.н, не решившиеся ни одной реальной прогнозной задачи. Maxim --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) — RU.COMPRESS From : Dima Kirnocenskij 2:5020/701.111 25 Sep 01 11:15:29 To : Daniil Uspensky Subj : Re: Шальная мысль... Привет, Daniil! 23 Sep 01 17:42, Daniil Uspensky wrote to All: DU> А что, если в PPM юзать интеpполяционные полиномы для "пpедсказания" DU> символов? Т.е. ты надеешься на более или менее "гладкое" распределение КОДОВ символов? А почему? Всего наилyчшего. Dima Kirnocenskij --- * Origin: Why not? (FIDO 2:5020/701.111) — RU.COMPRESS From : Bulat Ziganshin 2:5093/4.126 26 Sep 01 10:37:49 To : Max Vasilyev Subj : странный zip * Originally in RU.COMPRESS Приятного тебе дня и незабываемой ночи, Max! Monday September 24 2001, Max Vasilyev writes to Alex Baskakov: AB>> Есть странный zip архив, некоторые файлы из которого стандартным AB>> zip'ом не разворачиваются (bad table выдает). В архиве есть файлы AB>> _hash*, что наводит на мысль о каком-то клоне... Чем бы его AB>> развернуть? MV> возможно PkZip 4.0 или 4.5 for Win32 MV> www.pkware.com вряд ли. defalte64 - отдельный метод сжатия со своим номером Bulat, mailto:bulatzATfort.tatarstan.ru, ICQ 15872722 ... Иногда для того, чтобы изменить свое восприятие мира, ... люди пытаются изменить сам мир --- GoldED+/W32 1.1.2 * Origin: За бессмертие платят жизнью. Можно чужой (2:5093/4.126) — RU.COMPRESS From : Daniil Uspensky 2:5030/1551.7 26 Sep 01 17:12:29 To : Maxim Smirnov Subj : Шальная мысль... Hello Maxim! 25 Сен 01, Maxim Smirnov wrote to Daniil Uspensky: DU>> А что, если в PPM юзать интеpполяционные полиномы для DU>> "пpедсказания" символов? MS> Лажа в общем слyчае, если только не повезет. MS> Кpоме того, для пpедсказания интеpполяционные полиномы MS> могyт пpименять pазве что только неyдавшиеся к.ф-м.н, MS> не pешившиеся ни одной pеальной пpогнозной задачи. Я тоже к такомy выводy пpишел. К томy же их использовать не yдобно, т.к. вне вз ятого пpомежyтка они ведyт себя сквеpно... Daniil --- GoldED+/386 1.1.4.7 * Origin: Once Upon A Time In The West ... (2:5030/1551.7) — RU.COMPRESS From : Andrew Ezhguroff 2:5020/400 26 Sep 01 18:11:48 To : Alex Baskakov Subj : Re: странный zip From: "Andrew Ezhguroff" <eandr@com2com.ru> Привет! "Alex Baskakov" <Alex.Baskakov@p55.f3.n5025.z2.fidonet.org> сообщил(а) нам: > Есть странный zip архив, некоторые файлы из которого стандартным zip'ом не > разворачиваются (bad table выдает). В архиве есть файлы _hash*, что наводит на > мысль о каком-то клоне... Чем бы его развернуть? Скорее всего это вообще не ZIP, а какой-то посторонний формат (в интернете любят любому архиву давать расширение ZIP). Попробуй посмотреть его программой, которая несколько форматов понимает: WinRar 2.8 - 9 форматов, DosNavigator (не распакуешь, но хотя бы поймешь, какой архиватор требуется) - 25 форматов. С уважением, Андрей. --- ifmail v.2.15dev5 * Origin: COMSTAR Telecommunications (2:5020/400)
Предыдущий блок Следующий блок Вернуться в индекс