|
Труд вопреки насмешкам
|
|
FileCompressor Technical Preview build 13073 (ProgramId 2 not full)01.03.2019, 17:03. Показов 1814. Ответов 21
Метки нет (Все метки)
Дорогие пользователи форума CyberForum! Прошу оценить новое мое творение - не супергигантское, но сравнительно большое обновление компрессора файлов! Оно является прямым продолжением этой и этой версий, поэтому подробно описывать не буду. Как и в прошлый раз, напишу список изменений:
1. В десятки, сотни, а иногда и в тысячи раз увеличена скорость сжатия. Теперь пиковая замеченная мной скорость составляет 1.5 ГБ/ч. Впрочем, на текстах разница намного меньше, так как Лемпель-Зив ускорился всего в несколько раз, и в случае, если Хаффман и E-RLE (смотрите ниже) не сжали файл в несколько десятков раз, занимает 95% времени. Упомянутое мной в предыдущей аналогичной теме изображение теперь сжимается за 5 секунд, а что касается пустой и цветной клеток - я не успеваю открыть часы после того, как щелкну по файлу. Что касается сжатия Destroying of Figures 1.bmp предыдущей версией - два раза я пытался это сделать, и два раза компрессор вылетел. 2. Появились новые методы сжатия - E-RLE, кодирующий не только повторные, но и неповторные серии (полностью заменил RLE), BWT, MTF и Хаффман для слов. Вследствие этого, существенно увеличилось количество однобитных гарантий - еще немного, и оно перепрыгнет через байт! Как можно видеть во втором прикрепленном архиве (по техническим причинам результаты распались на 3 файла), в основном на файлах достаточного размера степень сжатия увеличилась. Также добавилось много новых файлов, сжатие которых стало возможным благодаря ускорению и исправлениям. 3. Немного увеличилась форма компрессора, добавилась кнопка "Открыть для пересжатия" (пока не работает) и примитивные настройки - можно менять время сжатия и включать полную проверку (по умолчанию выключена для ускорения). Заранее предупреждаю, что степень сжатия не всегда прямо зависит от времени. 4. По просьбе Usaga я отказался от C++/CLI и перешел на C#. 5. К сожалению, одно из обещаний, данных в теме про первое обновление, оказалось невыполненным и уже невыполнимым - распаковывать файлы, сжатые первой версией FileCompressor, больше нельзя. При попытке это сделать высвечивается соответствующее сообщение. 6. Прозрачный фон надписей на полосах загрузки я сделать не смог, а подписать их хотелось, поэтому пришлось сделать компромиссный вариант - надписи непрозрачные, но занимают не всю высоту полос, посередине можно видеть надписи, а сверху и снизу - прогресс сжатия. 7. Опять же из-за ускорения, я убрал обращение к статусной полосе загрузки в каждой итерации цикла, и теперь она может заполняться скачками, зависать и быть рассинхронизированной с полной и текущей. 8. Убрано консольное окно. 9. Существенно увеличились требования к памяти. Теперь для сжатия "Гигантским" временем файла размером 10 КБ памяти требуется 1.2 ГБ, так что слабый компьютер сжатие большого файла может вообще не потянуть. Впрочем, после достижения этого порога - 1.2 ГБ - рост требований к памяти резко замедляется. 10. Суровая реальность такова, что возникли серьезные проблемы с распаковкой. И теперь, выражаясь языком теории вероятностей, событие "при распаковке компрессор вылетит" является практически достоверным (вероятность около 99.999%, а если один раз вылетел на данном файле, то при неограниченном количестве повторных попыток распаковать его же - 100%). Что появится в третьем обновлении: 1. Распаковать файлы, сжатые первой версией, будет нельзя уже никогда. Единственный выход - скачать первую версию и распаковать ею, а затем сжать новой. 2. Будет оптимизирован порядок методов, что в некоторых случаях увеличит как скорость, так и степень сжатия. 3. Надеюсь, распаковка файлов наконец будет более вероятна. 4. Есть небольшая вероятность, что появятся еще какие-либо методы, а значит, и "Супергигантское" время сжатия. Предупреждение для желающих оценить компрессор: прошу сравнивать не только с всемирно известными компрессорами/архиваторами, а и с предыдущими версиями FileCompressor - мне кажется, программа улучшилась существенно, хотя, конечно, до уровня ZIP мне еще далеко.
0
|
|
| 01.03.2019, 17:03 | |
|
Ответы с готовыми решениями:
21
Перестала работать кнопка пуск в Windows 10 Pro Technical Preview Build 9926 Windows 10 Technical Preview доступна для скачивания Новые возможности консоли CMD в Windows 10 Technical Preview |
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
|
| 01.03.2019, 19:44 | |
|
Автор хоть проверяешь свои поделки?
Комп 12 потоков 5Gh (хотя смотрел - походу прога использует 1 поток процентов на 20 максимум) Итог: кинул mp3 файл на 1.3 метра После 2 часов мне надоело ждать что там прога делает (она не зависла) Вернее сказать я забыл про неё, а потом вспомнил через 2 часа - посмотрел а она ещё работает Закрыл нафиг.
0
|
|
|
Труд вопреки насмешкам
|
||
| 01.03.2019, 19:49 [ТС] | ||
|
0
|
||
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
|
| 01.03.2019, 19:50 | |
|
1 прога вообще не работает?
Прога закрывается - файла сжатого нет. Добавлено через 48 секунд 1,3 мегабайта. Т.е. по современным реалям - вообще ничто.
0
|
|
|
Труд вопреки насмешкам
|
|
| 01.03.2019, 19:51 [ТС] | |
|
"1 прога" - это что такое? Версия 13052?
0
|
|
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
|
| 01.03.2019, 20:00 | |
|
Попробовал сжать 1 прогой html файл 252k
На этот раз не сдохла. Результат - 119k. время примерно 5с Сделал архив 7z. Результат 40k - 7z сделал архив мгновенно. Поставил максимальное сжатие - прога похду ушла в своё многочасовое блуждание. Выключил. Поставил время сжатия огромное - результат 124k Вобщем в чём смысл существования проги? Добавлено через 37 секунд 1 прога в списке стартового поста
0
|
|
|
Труд вопреки насмешкам
|
||
| 01.03.2019, 20:04 [ТС] | ||
|
0
|
||
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
|
| 01.03.2019, 20:07 | |
|
Зная что mp3 сжатый формат - но ради прикола сжал mp3 размером 4255k
Так 7z умудрился его сжать ещё чуть чуть 4172k И сделал это мгновенно Добавлено через 2 минуты Поясню про вопрос смысла Пока не избавитесь от фатального недостатка - а именно времени сжатия, прога никому нужна не будет, сколь сильно она не сжимала бы (что как мы видим она уступает бесплатной 7z в разы) Сегодня размер дискового пространства уже потерял всякий смысл. Флешки вон microSD на 1Т уже делают.
0
|
|
|
Труд вопреки насмешкам
|
|
| 01.03.2019, 20:12 [ТС] | |
|
Хорошо. Тогда напишите - как можно искать совпадения в Лемпеле-Зиве иначе, кроме как полным перебором? И если не хотите сравнить ДВЕ версии, напишу - время сжатия File.html из второго архива 13052 - полчаса, 13073 - 14 секунд. Это не прогресс?
0
|
|
|
14138 / 9366 / 1350
Регистрация: 21.01.2016
Сообщений: 35,219
|
|||
| 01.03.2019, 20:23 | |||
![]()
0
|
|||
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
|
| 01.03.2019, 20:26 | |
|
Не хотел писать пр очевидные вещи, но раз не понимаете - напишу.
Лемпеле-Зиве - говно алгоритм. (детали не знаю и знать не хочу - сужу по тому как он сжимает и сколько времени требует) Берите другой.
0
|
|
|
Труд вопреки насмешкам
|
|||
| 01.03.2019, 20:31 [ТС] | |||
|
Usaga, то, что вылетает при распаковке - это временно. То, что работает часами - я уже писал:
0
|
|||
|
14138 / 9366 / 1350
Регистрация: 21.01.2016
Сообщений: 35,219
|
|
| 01.03.2019, 20:35 | |
|
developer123, это хороший алгоритм. Он лежит в основе всех популярных архиваторов. Другое дело как его реализуют разные умельцы. Вы на основе чего решили, что это фиговый алгоритм?
Добавлено через 2 минуты Etyuhibosecyu, не важно временно или нет. Не имеет смысла выкладывать падучее говно. Никто это не оценит. Вообще никто. Доведите приложение до умеренно стабильного состояния, потом выкладывайте. Вы же на полностью управляемый язык перешли. Как при этом можно такой хлам падучий выкладывать? Это же не С++, где чудеса разнородные можно славливать. Тут вам CLR на любой чих исключение кидает с трейсом.
0
|
|
|
Труд вопреки насмешкам
|
|
| 01.03.2019, 20:35 [ТС] | |
|
Usaga, вы тоже не знаете, как реализовать этот алгоритм быстро? Может, быть, хоть ссылку дадите? А то правила рекомендуют не отсылать других пользователей в поиск...
0
|
|
|
14138 / 9366 / 1350
Регистрация: 21.01.2016
Сообщений: 35,219
|
|
| 01.03.2019, 20:36 | |
|
Etyuhibosecyu, я вам уже говорил про открытые исходники zlib, которая уделывает ваше авторское поделие на раз-два?
0
|
|
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
|
| 01.03.2019, 20:36 | |
|
Да я хотел написать - или вы не умеете его готовить, но не стал прикидываться мистером КЕП.
И вообще алгоритмы 100% восстановления никому сейчас уже не нужны - в том смысле что математически уже походу достигнуты пределы давно. А вот сжатие видеоконтента, аудиоконтента, не знаю там всякие гейм виртуальная реальность. Вот где можно денег заработать. Кстати на хабре сегодня статья была про архиваторы. И коментов там было 0. Видимо никому не интересны архиваторы ![]() вот статья
0
|
|
|
Труд вопреки насмешкам
|
||
| 01.03.2019, 20:38 [ТС] | ||
|
0
|
||
|
14138 / 9366 / 1350
Регистрация: 21.01.2016
Сообщений: 35,219
|
|
| 01.03.2019, 20:39 | |
|
Etyuhibosecyu, тогда сидите и изобретайте свой новый классный архиватор)
0
|
|
|
107 / 65 / 0
Регистрация: 20.08.2013
Сообщений: 321
|
||
| 01.03.2019, 20:42 | ||
|
Хотя мне честно всё равно - автор выложил прогу получить критику. Он её получил. Что делать дальше - его проблема.
1
|
||
|
Труд вопреки насмешкам
|
||
| 01.03.2019, 20:48 [ТС] | ||
|
0
|
||
| 01.03.2019, 20:48 | |
|
Помогаю со студенческими работами здесь
20
Почему в Eclipse неактивно действие Build Project и Build All? Новые свойства Version Information: ProgramID Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|