В качестве демонстрации моих быстрых подпрограммок для сжатия/разжатия данных написал предельно простенькую консольную программку для сжатия/разжатия одного файла. Можете скачать отсюда: 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 ). Я особо тщательно правильность работы не проверял, поэтому пользуйтесь на свой страх и риск. IQFun.ru - играем и растём над собой. Авторские игры, головоломки, кроссворды онлайн, интересные статьи.
Сообщение отредактировал IQFun - Ср, 14.06.17, 15:34
Представьте себя у меня в гостях - "я приготовила обед, съедобность не проверяла, пробуйте! расскажете как оно на вкус, если останетесь здоровы" Чем такой архиватор отличается от zip?
Это не архиватор, а программка для демонстрации моей крутости. Её предназначение - быть маленькой и очень быстро, хотя и слабовато, сжимать огромные объёмы данных. Напр., по сети идёт большой траффик, можно сжимать и разжимать его на лету, это сэкономит деньги на железо для расширения канала. У Гугла был такой проект, называется Snappy, моя программка работает не хуже.
Все срочно переходим на ассемблер и демонстрируем свою крутость с интеллектом. IQFun.ru - играем и растём над собой. Авторские игры, головоломки, кроссворды онлайн, интересные статьи.
Сообщение отредактировал IQFun - Чт, 15.06.17, 10:48