Re: Препроцессинг. Того стоит?


Сайт о сжатии >> Форум #Компрессор# >> [Ответить] [Ответы]

Автор: FAL,
11 июля 2004 года в 13:30:46

В ответ на : Re: Препроцессинг. Того стоит? от Savenger в 10 июля 2004 года в 00:12:46:


> Нет, это понятно, просто выйгрыш в 3% меня не устроит.. Хочется чего-то (хотя бы немного) впечатляющего... (%

Вообще-то 3% это очень неплохой выигрыш от препроцессинга, да еще при использовании продвинутых универсальных алгоритмов :) Так что примерно эта цифра и будет иметь место. Хотя 5% тоже можно получить :) Скажу более - бывают файлы, на которых можно получить сжатие раз в пять выше, чем обычным сжатием, но это очень редко. Такие файлы должны состоять в большинстве своем их тегов, на коих мы и отыгрываемся. Опять-таки, все исходя из опыта общания с XML.

> Тогда как узнать какой именно тег закрывается? Такое возможно только на правильно сделанных HTML, а мне предстоит обрабатывать "что попало" прямо из Internet. В противном случаи, либо "исправлять" HTML перед сжатием, либо делать очень сложный парсинг...

Ну либо то, ли другое. Во всяком случае, можно подумать про несложный парсинг, аналогично препроцессингу обычного текста. Многого не займет, а выгрыш даст.

> Этим занимается оптимизатор.
Вот почти про него мы и говорим :)

> Можно хотя бы пару цифр? Даже по памяти...

Цифры... сжатие было с потерями, то есть удалялись все форматирующие символы и комментарии. Если сравнить, то на 20 файлах имеем:

elts lzmaЃ 6359
pcc1 lzmaЃ 2694
pcc2 lzmaЃ 5975
pcc3 lzmaЃ 5145
play1 lzmaЃ 59092
play2 lzmaЃ 32863
play3 lzmaЃ 68699
sprot lzmaЃ 2381
stats1 lzmaЃ 40403
stats2 lzmaЃ 34788
tal1 lzmaЃ 15311
tal2 lzmaЃ 12532
tal3 lzmaЃ 6714
tpc lzmaЃ 42551
treebank lzmaЃ 1284
w3c1 lzmaЃ 43617
w3c2 lzmaЃ 40563
w3c4 lzmaЃ 21126
w3c5 lzmaЃ 47918
weblog lzmaЃ 560

490,575 байт (сжатие оригинальных файлов)

elts lzmaЃ 6181
pcc1 lzmaЃ 7910
pcc2 lzmaЃ 33872
pcc3 lzmaЃ 38063
play1 lzmaЃ 59437
play2 lzmaЃ 33033
play3 lzmaЃ 69081
sprot lzmaЃ 2365
stats1 lzmaЃ 41045
stats2 lzmaЃ 35225
tal1 lzmaЃ 20355
tal2 lzmaЃ 16373
tal3 lzmaЃ 9212
tpc lzmaЃ 42589
treebank lzmaЃ 1282
w3c1 lzmaЃ 43055
w3c2 lzmaЃ 39672
w3c4 lzmaЃ 19814
w3c5 lzmaЃ 45075
weblog lzmaЃ 555

564,194 байт (сжатие распакованных файлов)

elts fxpЃ 5525
pcc1 fxpЃ 2306
pcc2 fxpЃ 5342
pcc3 fxpЃ 4531
play1 fxpЃ 46456
play2 fxpЃ 25371
play3 fxpЃ 55325
sprot fxpЃ 2139
stats1 fxpЃ 27765
stats2 fxpЃ 23371
tal1 fxpЃ 13673
tal2 fxpЃ 10327
tal3 fxpЃ 5738
tpc fxpЃ 37463
treebank fxpЃ 749
w3c1 fxpЃ 34354
w3c2 fxpЃ 32001
w3c4 fxpЃ 16210
w3c5 fxpЃ 37077
weblog fxpЃ 477

386,200 байт (сжатие с препроцессингом)

> Опять же, проблема только найти реализацию, т.к. я не знаком с C++, мне сложно сделать подходящую библиотеку даже из готовых исходников, чего уж говорить, если и таковых в наличаи не окажется... )8

Исходники есть на этом сайте.

> LZMA либу (DLL) мне прислал один из здешних форумян (не знаю, хочет ли он обнародования своего имени, поэтому не буду оглашать на всякий...), её и используем. Да и по тестам LZMA показал себя с очень не плохой стороны...

Да, но тексты жмутся лучше куда лучше PPM, нежели LZ.
Убедиться можно просто - проверить :) На этом сайте есть то же PPMd.

> Если кто-нибудь даст свободную (лицензионно) PPMd DLL'ку - с удовольствием потестирую результаты и, если они более впечатлят, чем LZMA, немедленно начну использовать. (8

Ну это к автору :)

А вообще всех и вся в моих тестах побила durilca, как это ни печально :)

Ответы:



Ответить на это сообщение

Тема:

Имя (желательно полное):

E-Mail:

URL:

Город:

Страна:

Вежливый и подробный комментарий:
(Форматируйте его, пожалуйста, как почту - короткими строками
Еnter в конце строки, пустая строка между параграфами).

Пожалуйста, заполните все поля.
И не нажимайте по два раза на кнопку! Дождитесь ответа сервера.