IPB

Добро пожаловать, гость ( Вход | Регистрация )

> Написал крохотную файлосжималку на ASM под Win64, Сжатие lz77 на FASM
IQFun
14.6.2017, 15:52
Сообщение #1


Новичок
*

Группа: Пользователи Braingames
Сообщений: 38
Регистрация: 28.7.2016
Пользователь №: 57 279



Для любителей мелких программных жемчужин.

В качестве демонстрации моих быстрых подпрограммок для сжатия/разжатия данных написал предельно простенькую консольную программку для сжатия/разжатия одного файла. Можете скачать отсюда:
http://www.cronc.com/lz4i64.zip
6.5 Кб в ехе файле!
Ваш процессор должен поддерживать AVX команды (см. https://ru.wikipedia.org/wiki/AVX ). Если ваш проц впервые вышел в 2011 г. или позже, то это будет так. Программка скомпилирована так, что читает файл кусками по миллиарду байтов, поэтому для разжатия большого файла понадобится ~2 Гб свободной памяти.

Файл в 100 Мб (ехе, текст, ...) сжимает почти в 2 раза примерно за 0.7 с. Разжимает почти вдвое быстрее.

Программка работает примерно, как известная биб-ка lz4 француза Yann Collet (см. https://github.com/lz4/lz4 ).
Я особо тщательно правильность работы не проверял, поэтому пользуйтесь на свой страх и риск.

Хорошая была головоломка аккуратно переписать эту программку с языка высокого уровня на ASM 64-бит и исправить ошибки без отладчика!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщения в этой теме


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



- Упрощённая версия Сейчас: 20.11.2019, 2:59