Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » WinRAR (часть 5)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По вопросам лечения (кряки, патчи и т.д.), а также разблокировки архивов обращаемся в «Варезник».
Отдельная тема по сборкам WinRAR
Предыдущие части темы: 0 | 1 | 2 | 3 | 4



 
Официальный русский сайт: win-rar.com
Официальный e-mail разработчика WinRAR (писать по-русски): dev@rarlab.com
 
Стабильная английская версия: 7.13
Стабильная русская версия: 7.13


Последняя 32-разрядная версия (7.01): английская | русская


 
Список изменений на английском языке
(на родном – смотрите файл WhatsNew.txt в дистрибутиве на вашем языке)
Скачать RAR для macOS, FreeBSD, Linux, Android можно здесь.

Скачать ранее вышедшие версии можно с официального FTP
Список версий совместимых с различными ОС

Версия 3.62 (ru) с подарочным ключом (респект камраду elmorte)

Коллекция всех ранее выходивших 16- и 32-бит версий WinRAR 1.54b - 7.01 (1995-2024): скачать (342 МБ) [обновлено 12.05.2024]

вместо F.A.Q. || альтернативные архиваторы

Почему при русском разработчике задерживается русская версия, хотя на языке XXX она уже появилась? Не захламляйте тему подобными вопросами.

Кому не нравится новая тема оформления - скачайте с официального сайта rarlab.com (из раздела Themes) и установите себе WinRAR Classic theme by Francesco Indrio
Стандартная (48x36). Маленькие кнопки (24x24)

В теме активно отвечает на вопросы автор архиватора Евгений Рошал! Ситуация уникальная, прошу пользоваться. :)
 
Таблицы для наглядности с соотношением размера словаря к потребляемой ОЗУ:
с ключом mcx | без ключа mcx

Всего записей: 39687 | Зарегистр. 26-02-2002 | Отправлено: 08:31 31-07-2023 | Исправлено: Komandor, 10:46 02-08-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я думал, что нашел обходной путь,
 
(quake106.s1f.rar)
 

Код:
 
$ rar a -s quake106.s1f.rar quake106 -xquake106/ID1
$ rar a -s1 quake106.s1f.rar quake106/ID1
 
$ 7z l quake106.s1f.rar | grep Blocks
Blocks = 2
 

 
но он оказался ложным позитивным.
(2d_8_z-s1.rar)
 

Код:
 
$ wget http://www.data-compression.info/files/corpora/lukas_2d_8_tif.zip && unzip lukas_2d_8_tif.zip
$ rar a -s 2d_8+z-s1.rar *.tif
$ echo zzz > zzz.zzz
$ rar a -s1 2d_8+z-s1.rar zzz.zzz
 
$ 7z l 2d_8+z-s1.rar | grep Blocks
Blocks = 1
 

 
Все еще не знаю, что это за второй непрерывный блок в Quake106.s1f.rar ', но это, вероятно, не то, что я задумал.
 
Кроме того, нет никакого способа выяснить, где непрерывныe блоки начинаются и заканчиваются в любом случае, так как «rar lt ...» не показывает этого.
 
 


 
I thought I found a workaround but it turned out to be false positive.
Still don't know what is this second solid block in `quake106.s1f.rar' but it's likely not what I intended.
 
Also there is no way to figure out where solid blocks start and end anyway as `rar lt ...' does not show that.

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 18:45 10-09-2025 | Исправлено: tansy, 20:26 10-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy

Цитата:
Кроме того, нет никакого способа выяснить, где непрерывныe блоки начинаются и заканчиваются в любом случае, так как «rar lt ...» не показывает этого.

"rar lt" показывает отсутствие или наличие флага "solid" в поле "Flags:".

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 19:11 10-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я понимаю это.
 
Вот почему тот факт, что в примере (quake106.s1f.rar) второй непрерывный блок, кажется, является случайным или случайным, и на самом деле не так.
 
«Случайность» подтверждается в следующем примере (2d_8_z-s1.rar), где точно такая же последовательность команд дает различный результат-который является одним непрерывный блок.
 
Также «rar l» показывает непрерывный статус/флаг.
Он («rar lt») не показывает, какой файл, предоставляемый блоком, который будет полезен.
 


 
I get that.
 
That's why the fact that in example of (quake106.s1f.rar) second solid block seems to be 'random' or 'by chance', and there is no way to discern what it actually encompasses.
The 'randomness' is confirmed in next example of (2d_8_z-s1.rar), where exactly same sequence of commands gives different result - which is one solid block.
 
Also `rar l' shows solid status/flag.
It (`rar lt') doesn't show which block given file belongs to, which would be helpful.

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 20:37 10-09-2025 | Исправлено: tansy, 20:52 10-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy

Цитата:
Вот почему тот факт, что в примере (quake106.s1f.rar) второй непрерывный блок, кажется, является случайным

В "rar lt" видно, что там сброшен solid флаг в папке quake106\ID1. Это чисто косметический вопрос, так как solid флаг папки до алгоритма распаковки не доходит и на сброс словаря не влияет. Может, в 7.20 изменю обработку -s<...>, чтобы опции сброса solid на папках не отражались.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 11:47 11-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal
 
Я не обязательно понимаю, что вы говорите, может быть, наверняка, это переводчик, но если вы подумаете о том, чтобы что -то сделать с этим, то я бы посоветовал сохранить текущее поведение по умолчанию (продолжение предыдущего непрерывныго блока) в качестве дефолта, как некоторые люди могут зависеть от этого, даже если они не знают об этом. и добавить переключатель, чтобы запустить новый блок как необязательный.
 
Кроме того, я бы добавил более подробную информацию в технические листинги (`rar lt'), включая количество непрерывныго блока Файл принадлежит.
Что -то вроде здесь.
 


 
I don't necessarily understand, what you say, maybe, for sure, it's translator, but if you consider to do something with it, then I would suggest to keep current default behaviour (continuing previous solid block) as default as some people may depend on it, even if they are not aware of it. and add switch to start new block as optional.
 
Also, I would add more detailed information to technical listing (`rar lt'), including number of solid block file belongs to.
Something like here.

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 23:49 12-09-2025
Vinyl_Vandal

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
при преобразовании нескольких архивов, если среди них есть не запароленные, то чекбокс при запросе пароля "использовать для всех архивов" не активен - это баг или фича?

Всего записей: 159 | Зарегистр. 04-08-2025 | Отправлено: 19:24 26-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vinyl_Vandal
Этот чекбокс в 7.1x выводится только для архивов с зашифрованными именами. Надо будет поправить, чтобы выводилось и для архивов без шифрования имен.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 18:36 27-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Любой способ установить длину совпадения?
Lzip и LZMA в целом и ZSTD позволяют управлять длиной совпадения. Поскольку это оказывает важное влияние на сжатие, я хотел контролировать его, но не вижу для него вариант.

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 20:55 28-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy
Я сейчас посмотрел, видимо, вы про zstd параметр "mml" - minimum searched length. Для RAR такое ограничение дало бы не слишком существенный выигрыш в скорости и снижение сжатия. Чтобы выигрыш в скорости был более заметным, нужны и прочие изменения в алгоритме. Что уже сделано в режиме -m1.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 21:58 28-09-2025 | Исправлено: EugeneRoshal, 22:29 28-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Я сейчас посмотрел, видимо, вы про zstd параметр "mml" - minimum searched length.

EugeneRoshal:
 
Я, очевидно, зашел слишком далеко с этим zstd.
I'm talking about maximum match length.
`lzip -m#' (match length), `lzma -fb#' (fast bytes), `xz --lzma1=nice=#' (nice length of a match), у zstd его нет.
 
Проверьте это, чтобы увидеть, что я имею в виду.

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 23:10 28-09-2025 | Исправлено: tansy, 23:11 28-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy
Насколько я понимаю, это параметр для optimal LZ parser, задающий длину match, который принимается безусловно, без анализа промежуточных позиций. Для greedy parser он вряд ли применим. Для lazy parser, в принципе, его можно использовать для отмены lazy поиска.
 
Но и для optimal parser, начиная с какого-то вменяемого значения, этот параметр уже слабо влияет на сжатие. Если я правильно понял вашу таблицу, там, начиная с 64, разница в сжатии меньше 1 процента. Вряд ли найдется достаточно пользователей, которые реально захотели бы это настраивать ради десятых долей процента. На мой взгляд, приемлемым решением является прописать в алгоритме какое-то компромиссное фиксированное значение этого параметра.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 01:07 29-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Насколько я понимаю, это параметр для optimal LZ parser, задающий длину match

EugeneRoshal:
 
Да. Не только «оптимальный анализатор LZ», но да. Он установил ограничение длины совпадения в байтах. После того, как это длинное сопоставлено, поиск завершен.
 

Цитата:
который принимается безусловно, без анализа промежуточных позиций

 
Это не заботится о «промежуточных позициях», что бы это ни значило. Он ограничивает максимальную длину совпадения, вот и всё.
 

Цитата:
Для greedy parser он вряд ли применим.

 
Сначала я подумал, что это правильно, но после рассмотрения это будет работать так же для очень анализатора, без маха, как велик или маленький. Если будет найдено матч определенной длины, он не будет искать больше.
 

Цитата:
Если я правильно понял вашу таблицу, там, начиная с 64, разница в сжатии меньше 1 процента.

 
Я не знаю, что вы имеете в виду «1 процент», но для меня это показывает, что после 96 возвратов быстро и быстро уменьшаются. Конечно, это зависит от данных, но я считаю Силезию Корпус довольно точным представлением «реальных данных».
Столбец 'D-Prev'-это Delta, разница с предыдущего уровня '(здесь: row). Для 'dict = 64 Mib, совпадение варьируется », M = 64 - 280688 байт лучше, чем M = 48 и 815636 байт лучше, чем M = 32; M = 96 на 216720 байт лучше, чем M = 64 и 1032356 байт лучше, чем M = 32. (#ref)
 
 

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 08:51 29-09-2025 | Исправлено: tansy, 09:12 29-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy

Цитата:
Это не заботится о «промежуточных позициях», что бы это ни значило. Он ограничивает максимальную длину совпадения, вот и всё.

Optimal LZ parser ищет совпадения для каждой позиции исходных данных, в отличие от greedy parser, который не анализирует байты внутри уже найденного совпадения. Fast bytes для optimal parser устанавливают пороговое значение, после которого он тоже начинает пропускать байты внутри найденного совпадения без дополнительного анализа. Это нужно, чтобы предотвратить катастрофическую деградацию скорости выполнения на данных с длинными повторами.
 
Это не совсем то же самое, что простое ограничение максимальной длины совпадения. Optimal parser может выдать match с длиной, превышающей значение fast bytes, но он не будет анализировать данные внутри этого match.
 
Значение fast bytes в районе 64 - 128 является неплохим компромиссом. Все еще достаточно быстро, а дальнейшее увеличение этого значения, как правило, сжатие увеличивает незначительно.

Цитата:
Сначала я подумал, что это правильно, но после рассмотрения это будет работать так же для очень анализатора, без маха, как велик или маленький. Если будет найдено матч определенной длины, он не будет искать больше.

Если мы хотим повысить скорость работы greedy parser, эффективнее ограничивать не максимальную длину совпадения, а глубину поиска. Что RAR и делает.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 14:17 29-09-2025 | Исправлено: EugeneRoshal, 14:18 29-09-2025
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal
Я не совсем понимаю, что tansy хочет и о чем вы беседуете, но в ZSTD есть параметр, targetLength=tlen прямо под minMatch=mml, это больше похоже, на то что вы описываете или вы оба параметра описываете.
https://github.com/facebook/zstd/blob/dev/programs/zstd.1.md
Тут про него Янн Колле рассказывает.
https://github.com/facebook/zstd/issues/2730#issuecomment-1954838665

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 15:58 29-09-2025 | Исправлено: lelik007, 16:18 29-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Да, по описанию это похоже на fast bytes для optimal parser.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 16:56 29-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Я не совсем понимаю, что tansy хочет и о чем вы беседуете

lelik007:
 
Я говорю о (максимальной) длине совпадения, которая называется «длиной совпадения» в lzip[1], «быстрыми байтами» в 7-zip[2] и «nice» в xz[3].
 
1. lzip.info
2. fast bytes (lzma)
   fast bytes (deflate)
3. xz.1
 
 

Цитата:
Ян Коллет рассказывает об этом здесь

Из того, что я прочитал, это, вероятно, так. Я должен это проверить.
 
Кстати, если он может использовать любое число, а не только 258 (deflate) или 273 (lzma), то это очень круто — он может эффективно заменить RLE.
 



Цитата:
Это не совсем то же самое, что простое ограничение максимальной длины совпадения. Optimal parser может выдать match с длиной, превышающей значение fast bytes, но он не будет анализировать данные внутри этого match.

EugeneRoshal:
 
Я заметил, что 7-zip может находить совпадения, длиннее тех, которые я заказал, но я заметил это только в случае «RLE», например: «aaaaaaaaaaaaa...».
 
 
Раз уж мы об этом заговорили — каков предел длины матча для Rara?

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 17:26 29-09-2025 | Исправлено: tansy, 17:42 29-09-2025
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy
В ZSTD, если параметры не заданы пользователем, то они берутся из пресета сжатия для какого то уровня, их можно увидеть с -vv :
In ZSTD, if the parameters aren't defined by a user, they're taken from a compression preset for a certain level, they can be seen with -vv:
 
ztsd -1 -vv file
--zstd=wlog=10,clog=7,hlog=8,slog=1,mml=5,tlen=0,strat=1
zstd --max -vv file
--zstd=wlog=31,clog=30,hlog=30,slog=30,mml=3,tlen=131072,strat=9
 
Максимальное значение tlen=4096 в байтах прямо сейчас.
Maximum value is tlen=4096 in bytes right now.
https://github.com/facebook/zstd/issues/2730#issuecomment-2683970424
 
 
EugeneRoshal
Я понял, что в Winrar все это тоже есть, только пользователь не имеет к этим параметрам доступ и они тоже, скорее всего, определяются методом сжатия.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 17:57 29-09-2025 | Исправлено: lelik007, 21:04 29-09-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Максимальное значение tlen=4096 в битах.

lelik007:
 
В байтах.
 


Кстати, результат для ZSTD, неудивительно, похож на Deflate и LZMA.

Всего записей: 81 | Зарегистр. 19-09-2024 | Отправлено: 20:41 29-09-2025 | Исправлено: tansy, 21:50 29-09-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy

Цитата:
Раз уж мы об этом заговорили — каков предел длины матча для Rara?

4096 для RAR5

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 00:10 30-09-2025
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal
Fast bytes - дело такое, для Deflate в Zip его можно увеличить до 256, а что это дает, получается медленнее сожмет в пределах контейнера Zip без непрерывного сжатия со словарем 32 Кб, даже Fast Bytes = 128 это уже ощутимо медленнее. Теоретически, как максимально сжатие для Zip Deflate - да, а по мне, так быстрые уровни Winrar или 7-Zip с нормальными словарями и непрерывным сжатием более практичны, если принимать во внимание время упаковки.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 08:29 30-09-2025 | Исправлено: lelik007, 20:00 30-09-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184

Компьютерный форум Ru.Board » Компьютеры » Программы » WinRAR (часть 5)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru