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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

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

EGTB7

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня вопрос про оптимальную паковку данных, состоящих из N-битовых значений.
 
Осуществляю проект по генерации 7-фигурных шахматных окончаний. То есть, если на доске не больше 7-фигур, то по таблице можно сразу получить ответ, кто выигрывает и за сколько ходов. Основные вычисления уже проведены. В итоге получилось около 100 ТБ данных, сжатых по алгоритму LZMA.
 
При генерации самым важным вопросом было наилучшее сжатие целочисленных данных (2-байтовых значений).
 
А вот для использования на первое место выходит скорость распаковки и возможность распаковки небольших блоков (8 КБ) из любого места большого файла. Так что запланирована перепаковка, и идет выбор лучшего архиватора, который обеспечит приличное сжатие при высокой скорости распаковки. Паковка делается один раз, и время паковки практического значения не имеет.
 
1. Для экономии памяти данные (которые представляют из себя значения о 0 до 2000) представляются в в N-битовом формате. N вычисляется, исходя их максимального имеющегося в файле значения. Первые эксперименты по архивации показывают, что хотя в несжатом виде объемы данных заметно снижаются, в сжатом виде файлы наоборот увеличиваются. То есть, получается, что методы паковки не заточены под битовые данные. Можно, конечно, сжимать как и раньше 16-битовые значения, а потом переводить их в N-битовый формат после чтения блока, но всё-таки это дополнительный проход, и интересно, можно ли улучшить сжатие именно N-битовых значений.
Тестировал вот на этом наборе 7-битовых значений.
https://dl.dropbox.com/u/72038782/res7.bin   (~1 400 000 байт)
7-zip и FreeArc дают на выходе 773 300-773 400 байт
Если же кодировать те же самые значения в 8-битовом формате
https://dl.dropbox.com/u/72038782/res8.bin   (~1 600 000 байт)
то на выходе получается ~480 000 байт. То есть разница очень приличная.
 
2. При переходе на блочную структуру файлов происходит значительное увеличение их размера (до 40%). Есть ли методы сжимать файл целиком, строить какой-то единый словарь для всего файла, но иметь возможность распаковать любой 8КБ блок независимо от остальных.
 
Скорость паковки значения не имеет. А вот распаковку хочется иметь достаточно быструю.
 
Буду благодарен за любые советы.

Всего записей: 3 | Зарегистр. 20-09-2012 | Отправлено: 13:37 20-09-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru