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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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

Цитата:
Преодоление этого неудобства возможно двумя способами

Я все же планирую посмотреть на вариант с отложенной обработкой: копируем файлы как не в solid архиве, а когда обнаруживаем первый ненулевой файл после удаленного - возвращаемся, и что надо - анализируем или перепаковываем.  
 
По сути это разновидность двухпроходного варианта. Но если после удаленных файлов нет ненулевых, он окажется однопроходным. Также что-то можно выиграть в скорости за счет копирования и распаковки в память файлов до первого удаленного без перепаковки.
 
В общем, надо будет посмотреть, насколько это сложно реализуемо и даст ли оно выигрыш в скорости. С одной стороны, где-то можно обойтись без перепаковки. С другой - забеги назад по архиву.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 15:51 12-10-2025 | Исправлено: EugeneRoshal, 18:42 12-10-2025
uShell

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

Цитата:
когда обнаруживаем первый ненулевой файл после удаленного, возвращаемся, и что надо - анализируем или перепаковываем

Тут можно сэкономить, если выставить тот же (или с бОльшим словарём) метод сжатия (это возможно, если дополнительные методы явно указаны в сжатых данных) и не перезаписывать файлы до места изменения, а просто набирать статистику. С другой стороны, предварительный проход по архиву - это быстро (с диска читается порядка 64K на каждый заголовок, а остальное - seek).
 
Ещё одна оптимизация возможна в WinRAR: там архив всё равно прочитан в память и размеры удаляемых файлов на момент подачи команды известны.

Всего записей: 1155 | Зарегистр. 12-06-2019 | Отправлено: 16:22 12-10-2025
EugeneRoshal

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

Цитата:
и не перезаписывать файлы до места изменения, а просто набирать статистику

Такой вариант я и планирую проверить.

Цитата:
если выставить тот же (или с бОльшим словарём) метод сжатия

Размер словаря копируемых файлов надо будет поднять до указанного пользователем. Распаковщик понимает снижение размера словаря в solid блоке, но не его рост.

Цитата:
с диска читается порядка 64K на каждый заголовок, а остальное - seek

Seek на HDD это небыстро. Правда, если заголовки сохранятся в дисковом кэше до второго прохода, тогда ситуация меняется.

Цитата:
Ещё одна оптимизация возможна в WinRAR: там архив всё равно прочитан в память и размеры удаляемых файлов на момент подачи команды известны.

Я стараюсь минимально полагаться на информацию из GUI за исключением имен файлов. От имен никуда не деться, а что касается прочего - WinRAR не блокирует открытый архив от изменений. Так что если GUI WinRAR простояло полчаса, актуальность информации в GUI начинает вызывать вопросы.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 16:45 12-10-2025 | Исправлено: EugeneRoshal, 16:47 12-10-2025
insorg



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

Цитата:
 В RAR это не реализовано.  

Плохо.

Цитата:
RAR в общем случае для быстрого удаления папки потребовался бы или второй проход по архиву

Ради того, чтобы не делать лишнее ненужное пережатие в памяти, я готов на два прохода. Это в любом случае быстрее, чем просто молотить всё содержимое подряд.
Тем более, что я ещё культурно промолчу, что архивы со словарями нужного мне размера после удаления пустой папки через гуи не просто "пережимаются", но ещё и превращаются в архивы со словарём 32 МБ с закономерным ростом конечного размера архива.
Т.е. получаем, что хотели удалить пустую папку (даже без файлов внутри неё), а получили огромный кусок потраченного времени и архив, который стал в разы больше на выходе.
Существенная недоработка.
 
Добавлено:
uShell

Цитата:
можно написать отдельную программу

Это уже перебор. Писать софтину, потом тестировать (нужно же убедиться, что не пострадают полезные данные), потом дебажить и только потом допускать в работу...  
Да я такими темпами не просто много раз успею дождаться перепаковки архива, но и в целом переделать такой же архив с нуля с исходных данных.
Так что.. Идея забавная, но нерациональная в конкретном случае.

Всего записей: 20049 | Зарегистр. 04-11-2010 | Отправлено: 17:42 12-10-2025
uShell

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

Цитата:
Seek на HDD это небыстро

Я имею в виду, что если сжатые данные занимают хотя бы десятки мегабайт, то перемещение головки сразу к их концу всяко быстрее, чем чтение блока в память. Когда я в одном из своих скриптов заменил чтение позиционированием, скорость обработки ощутимо возрасла. Для мелких (до десятка КБ) файлов что чтение, что позиционирование происходят внутри кэша. Хуже всего будет, если сжатые данные занимают место порядка дискового кэша - тогда по факту приходится читать весь архив.
 

Цитата:
если заголовки сохранятся в дисковом кэше до второго прохода

А я думал, что заголовки кэширует сам RAR. Они всё равно нужны для Quick Open, которая по умолчанию пишется. Плюс, если наряду с заголовком кэшировать его абсолютное смещение, то при удалении/обновлении можно будет на втором проходе читать не весь архив, а только нужные файлы.

Всего записей: 1155 | Зарегистр. 12-06-2019 | Отправлено: 21:25 12-10-2025
EugeneRoshal

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

Цитата:
А я думал, что заголовки кэширует сам RAR. Они всё равно нужны для Quick Open, которая по умолчанию пишется.

Не все, не всегда. QO в отличие от central directory может кэшировать только часть заголовков. Слишком близко расположенные друг к другу заголовки он по умолчанию не хранит.

Всего записей: 2622 | Зарегистр. 29-04-2013 | Отправлено: 22:18 12-10-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