Важная информация

User Tag List

Страница 8 из 23 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 229

Тема: Написание программ для БК0010

  1. #71

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,048
    Спасибо Благодарностей отдано 
    1,141
    Спасибо Благодарностей получено 
    1,460
    Поблагодарили
    520 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если суммировать по алгоритмам сжатия для БК/УКНЦ, то у нас сейчас есть:

    1. LZSS: запаковщик в Sav2Cart, распаковщик там же (из LZSAV.MAC by Ostapenko Alexey) в 66. байт.

    2. LZ4: запаковщик в Sav2Cart (подглючивает иногда, надо исправлять), распаковщик там же, by Alexander Troosh, в 76. байт.

    3. LZSA1: запаковщик https://github.com/emmanuel-marty/lzsa, распаковщик тут https://gitlab.com/ivagor/lzsa8080/ by Ivan Gorodetsky, 156. байт.

    4. LZSA2: запаковщик https://github.com/emmanuel-marty/lzsa, распаковщик тут https://gitlab.com/ivagor/lzsa8080/ by Ivan Gorodetsky, 296. байт.

    5. bkpack - исходники кажется были у @gid? распаковщик сколько занимает?

    6. P16UNP.MAC в 364. байта и PL.PAS из кода для ПК 11/16 - см. https://github.com/troosh/pk11-16/tree/master/Soft/BIOS
    Последний раз редактировалось nzeemin; 26.04.2020 в 19:33.

    Эти 3 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:

    andrews(28.04.2020), Oleg N. Cher(27.04.2020), shattered(20.10.2020)

  2. #72

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На БК 0011м под CSI-DOS есть ещё неплохой Crunch. Он иногда плотней bkpack'а, иногда нет.
    manwe.pdp-11.ru

  3. #73

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    609
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Размер распаковщика bkpack: короткий - 128 байт, длинный - 146. байт, но ему ещё нужно около килобайта временного места для распаковки таблиц, которые используются для распаковки массива данных,.

    Этот пользователь поблагодарил gid за это полезное сообщение:

    nzeemin(27.04.2020)

  4. #74

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Посмотрел на размеры распаковщиков, устыдился и немного оптимизировал LZSA1 (теперь 144 байта).
    Последний раз редактировалось ivagor; 27.04.2020 в 19:24. Причина: еще -4 байта и чуть-чуть быстрее

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Manwe(27.04.2020)

  5. #75

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Посмотрел на размеры распаковщиков, устыдился и немного оптимизировал LZSA1 (теперь 144 байта).
    Круто! А LZSA2 возможно ужать?
    manwe.pdp-11.ru

  6. #76

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    А LZSA2 возможно ужать?
    6 байт можно очевидно отыграть внеся Counter, Offset и SavedOffset в тело программы. Скорее всего фикс бага со счетчиком можно сделать поприличнее. А дальше надо смотреть, вспоминать алгоритмы распаковки. Наверняка LZSA2 для PDP-11 можно еще заметно сократить, а может и LZSA1 тоже.

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,048
    Спасибо Благодарностей отдано 
    1,141
    Спасибо Благодарностей получено 
    1,460
    Поблагодарили
    520 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    6 байт можно очевидно отыграть внеся Counter, Offset и SavedOffset в тело программы. Скорее всего фикс бага со счетчиком можно сделать поприличнее. А дальше надо смотреть, вспоминать алгоритмы распаковки. Наверняка LZSA2 для PDP-11 можно еще заметно сократить, а может и LZSA1 тоже.
    Тут как бы тестовый стенд нужен, из программы под реал, на котором можно было бы проверять и валидность распаковки и её скорость.
    Разница в несколько слов не так важна, интереснее что при этом с перфомансом происходит.

  9. #78

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я проверяю в emu в конфиге BK-0010 на паре файлов. Пропуск ошибки со счетчиком вызван тем, что файлы сравнительно небольшие (до 15 Кб) и там такой проблемы не возникло, что, конечно, моя недоработка.
    Последние оптимизации LZSA1 не только позволили уменьшить размер, но и совершенно точно немного ускорили распаковщик. В emu эмуляция скорости BK не очень точная (а в каком эмуляторе она точная?), поэтому конкретные цифры не буду приводить.
    Перечисленные оптимизации LZSA2 тоже приведут к некоторому ускорению при уменьшении размера.

  10. #79

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Разница в несколько слов не так важна, интереснее что при этом с перфомансом происходит.
    Для 4-килобайтных демок значение имеет каждый байт, даже в ущерб скорости.
    manwe.pdp-11.ru

  11. #80

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сократил распаковщик LZSA2 до 266 байт и ускорил. Перешел на "тестовую платформу" DVK и добавил третий тестовый файл, побольше размером.

    Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Manwe(28.04.2020), nzeemin(28.04.2020), Oleg N. Cher(29.04.2020)

Страница 8 из 23 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. написание простейшей демки для тренировки
    от AAA в разделе Для начинающих
    Ответов: 121
    Последнее: 22.05.2012, 18:06
  2. написание музыки на Dendy.
    от s1moncpu в разделе Nintendo
    Ответов: 27
    Последнее: 25.05.2007, 05:34
  3. написание музыки на Dendy.
    от s1moncpu в разделе Музыка
    Ответов: 2
    Последнее: 16.05.2007, 10:59
  4. Тестирование программ
    от Vitamin в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2005, 21:46

Ваши права

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