User Tag List

Страница 6 из 12 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 114

Тема: Сжатие и упаковка. hrum3.5, hrust1, hrust2, laser compact x.x.

  1. #51

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Буду потестить! Надо каких-нибудь адаптаций под тырдос с заставками поделать-посмотреть.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  2. #52

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всем привет.

    От нечего делать решил реализовать на PC оптимальный компрессор для формата Hrust 2. Придумал алгоритм, выполняющий максимальное теоретически возможное сжатие. Думал, что сделаю открытие, а тут оказывается уже придумали optimal lzh :) Ну да ладно, не пропадать же добру. Выкладываю здесь.

    Хотя кое-что интересное в моей реализации всё же есть. Когда делал перебор дистанций для выбора наилучшей ссылки, я задумался о том, как сделать это красивее, чем полным перебором со сравнением строк в каждой позиции. В mhmt это сделано почти прямо: цикл по дистанциям, а в нём цикл, сканирующий строку до первого расхождения. "Почти", потому что реализовано раннее отсечение с помощью хэш-функции. На определённом виде входных файлов (с большой избыточностью) mhmt подвисает надолго. Я нашёл способ сделать это один проход (использовав т.н. Z-функцию).

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

    Напоследок изложу результаты сравнения сжатия Hrust 1 (mhmt) и Hrust 2, полученную на ~3500 типичных спектрумовских файлах. Разница в размере сжатых файлов - от -6% до +6%; в среднем Hrust 2 проигрывает 0.8%.

    В сравнении с оригинальным компрессором Hrust 2 оптимальный выигрывает в среднем 3.5%.
    Вложения Вложения

  3. #53

    Регистрация
    17.01.2005
    Адрес
    Gorno-Altaysk
    Сообщений
    82
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Eugene85, Огого! и через 15 лет новые версии . Если требуется более высокая скорость, посмотри на MMC - Morphing Match Chain.(вроде в 2010 году придумали). Например, вот тут: http://fastcompression.blogspot.ru/p...tch-chain.html. Я пока не разбирался что и как оно там подробно устроено, но скорость сжатия вырастает значительно.

    Если тормозит только на последовательностях байт типа "AAAAAA", то можно ускорить поиск по особому. Вот тут немного затронут этот вопрос: http://www.zxpress.ru/article.php?id=8569.

  4. #54

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hrumer Посмотреть сообщение
    посмотри на MMC
    Не представляю, как он может помочь. Как я понял, оно позволяет найти одну или несколько лучших совпадений, а мне нужно перебрать ВСЕ совпадения.

    Цитата Сообщение от Hrumer Посмотреть сообщение
    Если тормозит только на последовательностях байт типа "AAAAAA"
    Да нет, как я уже сказал, в моей реализации скорость не зависит от характера данных. Вот mhmt, например, подвисает на таких.

  5. #55

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А можно реализовать еще и идентичный hrust2.1? Чтобы получались одинаковые с hrust2.1 файлы.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  6. #56

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Shadow Maker,
    теоретически, конечно, можно, но я это делать не хочу, т.к. не вижу смысла. Простите, а зачем оно вам? Любопытно просто...

  7. #57

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для идентичности сборки всяких старых проектов Чтобы компилялось красиво.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  8. #58

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Shadow Maker,
    Сделай мне снапшот (.sna), я прикручу к нему эмулятор z80 и оформлю всё это в exe'шник Задача будет решена

  9. #59

    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eugene85 Посмотреть сообщение
    я прикручу к нему эмулятор z80 и оформлю всё это в exe'шник Задача будет решена
    Уже давно прекрутили. http://zx-pk.ru/showpost.php?p=88926&postcount=7

  10. #60

    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    70
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделал оптимальный компрессор для формата Hrust 1. Жмёт чуть лучше, чем mhmt (в среднем на 0.4%).
    Вложения Вложения

Страница 6 из 12 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Архивирование, сжатие, упаковка.
    от GriV в разделе Программирование
    Ответов: 30
    Последнее: 22.07.2019, 17:25
  2. ɹǀɩ ATARI. Упаковка данных
    от breeze в разделе Atari
    Ответов: 4
    Последнее: 16.11.2014, 15:55
  3. Баг в depacker от hrust1.3?
    от moroz1999 в разделе Программирование
    Ответов: 65
    Последнее: 17.04.2014, 10:39
  4. Упаковка текстов
    от Shadow Maker в разделе Программирование
    Ответов: 18
    Последнее: 10.10.2008, 21:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •