Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14

Ares Preview 2.0 (Pre-Alpha)

28.06.2020, 21:51. Показов 8261. Ответов 141
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И еще одна программа выходит снова после большого перерыва! Хотя в этот раз перерыв все же не два года, а только год и 3 или 4 месяца. Встречайте - полностью переработанный FileCompressor под кодовым названием Ares Preview 2.0 (в приложенном архиве). Я начал сразу с номера 2.0, так как это, по сути, продолжение существующей программы. Теперь добавились новые методы сжатия, включая мои авторские модификации - "для слов" и SHET, которые сжимают Властелина Колец всего на 19% слабее 7z! Причем другие архиваторы уже не сжимают файлы, сжатые Ares, в отличие от старых, что является аргументом в пользу правдивости этого размера. Также появилась возможность гибко управлять применяемыми инструментами с помощью специальных флажков и переключателя PSB/ARIC. К сожалению, пока нельзя отключить Лемпель-Зив, или наоборот, отключить все, кроме него, но если я не брошу программу, то это будет исправлено. Розовым выделены инструменты, распаковка которых вылетает. Также теперь ни один файл не будет сжиматься два часа (представьте себе!). Если размер файла приемлемый для Ares (например, Властелин Колец - 4 МБ), он сожмет быстро, если неприемлемый (например, 650 МБ) - сдастся сразу. Тесты показали, что на среднем компьютере (я считаю свой компьютер более-менее средним) с базовыми настройками Властелин Колец сжимается 18 секунд (!!!), с экстремальными - 8 минут 11 секунд. Хотя есть одна проблема: почти половину этого времени ни одна полоса загрузки не двигается ни на пиксел, так что создается иллюзия, что программа зависла. Очень надеюсь, что программа улучшилась.
Вложения
Тип файла: rar Ares Preview 2.0.rar (73.6 Кб, 9 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2020, 21:51
Ответы с готовыми решениями:

Pre-alpha Season Unreal Tournament
Качаю последнюю версию, которая уже в разработке, потому что 3 для меня не актуальна - накувыркался с ботами с тройки достаточно, в онлайне...

Hash Function Efficiency v0.1 pre-Alpha (May 11th, 2017)
Вот код, для наглядности (cyberforum.ru - не сохраняет оригинал кода! может не компилироваться) комментарии не удалял... #include...

Возможно ли будет обновиться с Consumer Preview до Alpha, Beta, RC и Final?
Возможно ли будет обновиться с Consumer Preview без переустановки (через интернет) до Alpha, Beta, RC и Final? Добавлено через 7 минут...

141
30.06.2020, 21:18
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Предстоит большая работа с Хаффманом для слов и BWT
Сначала нужно исправить все имеющиеся ошибки в коде, а потом добавлять новые, иначе потом не разгребете!

0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
30.06.2020, 21:29  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Сначала нужно исправить все имеющиеся ошибки в коде, а потом добавлять новые, иначе потом не разгребете!
Вот эта же работа и направлена на исправление имеющихся ошибок.
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
30.06.2020, 21:34
Etyuhibosecyu, у вас есть выбор размера блока, и последние опции отмечены как "в разработке", однако выбрать я их могу и сжатие вроде проходит. Так и должно быть? И вообще, что такое размер блока и почему там так много опций?
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Вышеупомянутый файл сжимается и распаковывается, проверен
К сожалению не у меня. Пробовал и первый, и третий столбцы, и вместе.

И да, если я упакую файл одной конфигурацией, а потом попробую распаковать другой конфигурацией чекбоксов, то будет ошибка?
0
629 / 393 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
30.06.2020, 23:38
Etyuhibosecyu, И все таки мне не совсем понятно, почему нельзя протестировать самому на хотя бы на нескольких десятках файлов? Почему это делают все, кто угодно, но не автор программы?
Сколько файлов было сжато перед выкладыванием альфа версии на форум?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
30.06.2020, 23:40
Pilarentes, очевидно же - достаточно сжать одну небольшую книжку.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
01.07.2020, 06:36
Pilarentes, ТС тестирует свою программу исключительно на томике "Властелина Колец". Никаких других файлов у него нет. Я думаю, что нужно всем форумом скинуться ему на архив с разными файлами. И ещё нужно его как-то научить отладчиком пользоваться, чтобы не выкладывал приложения, которые просто падают с исключениями типа NRE.

Добавлено через 36 секунд
Цитата Сообщение от Kastaneda Посмотреть сообщение
System.OutOfMemoryException
System.NullReferenceException
System.StackOverflowException
Первое и третье - дичь, но согласуется с показаниями профилировщика.

Добавлено через 4 минуты
Etyuhibosecyu, соберите своё приложение в x64. Возможно, что OutOfMemoryException станет появляться позже) Но ни в коем случае не пытайтесь исправить код и навести порядок!
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
01.07.2020, 08:46  [ТС]
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
у вас есть выбор размера блока, и последние опции отмечены как "в разработке", однако выбрать я их могу и сжатие вроде проходит. Так и должно быть? И вообще, что такое размер блока и почему там так много опций?
Размер блока - это для псевдобайт. Сколько байт составляет один непрерывный блок псевдобайт. Там должен быть всего один набор опций, и то, что большой файл на 50000 байтах будет сжимать много лет, уже тоже неправда, я изменил формат. И то, что в разработке - автоматически подставляется ближайший аналог с таким же размером блока.
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
К сожалению не у меня.
Вы точно скачали последний билд?
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
Пробовал и первый, и третий столбцы, и вместе.
Вы хотели написать - первый и второй? Третий будто бы ясно горит розовым во второй строке (не считая строки выбора всего столбца).
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
И да, если я упакую файл одной конфигурацией, а потом попробую распаковать другой конфигурацией чекбоксов, то будет ошибка?
На распаковку конфигурация флажков никак не влияет.
Цитата Сообщение от Pilarentes Посмотреть сообщение
Сколько файлов было сжато перед выкладыванием альфа версии на форум?
Три - Властелин Колец, лог какой-то программы (27.4 КБ) и сохраненная страница с этого форума (230 КБ).
Цитата Сообщение от Usaga Посмотреть сообщение
соберите своё приложение в x64.
Я, будто бы, выставлял x64. Но потом оказалось, что только в Debug. Потом будто бы и в Release. Сейчас, кажется, в Release горит x64.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
01.07.2020, 08:51
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Я, будто бы, выставлял x64. Но потом оказалось, что только в Debug. Потом будто бы и в Release. Сейчас, кажется, в Release горит x64.
На самом деле это стёб. Проблемы с потреблением памяти решаются исправлением кода, а не увеличение доступной приложению памяти. Потребление более двух гигов при обработки десятка метров - это неадекватное потребление ресурсов.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
01.07.2020, 08:56  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Потребление более двух гигов при обработки десятка метров - это неадекватное потребление ресурсов.
А знаете ли вы, что, например, тот же 7z при максимальных настройках потребляет больше 72 ГБ при обработке даже 20 байт?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
01.07.2020, 08:57
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Три - Властелин Колец, лог какой-то программы (27.4 КБ) и сохраненная страница с этого форума (230 КБ).
Вообще, приложение нужно натравить на пару тысяч файлов (хотя бы), затем распаковать все и проверить результат.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
01.07.2020, 09:05
Etyuhibosecyu, я знаю, что никакие настройки в 7z я никогда не трогал. И, в отличие от вашего творения, он всё равно работает в десятки и сотни раз быстрее, при этом не вылетает и может разархивировать то, что сам сжал.

Не надо ровняться. Более того: если 7z память и потребляет, то под словари и буферы. А ваше приложение просто мусор генерирует. Это не тоже самое. Вообще не тоже самое.

Есть разница между составлением здоровенного словаря, который используется для сжатия и между нарезкой исходных данных на миллионы мелких мусорных списков, которые туда-сюда гоняются в оперативке и тут же превращаются в мусор.

Добавлено через 4 минуты
Ваше приложение не занимает много памяти, а именно создаёт огромный трафик: память постоянно выделяется и высвобождается. Это признак создания огромного количества мусора. А 7z может выделить память под словарь и спокойно с ней работать пока не завершит задачу, т.е. память используется под структуру данных целенаправленно.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
01.07.2020, 09:05  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
А ваше приложение просто мусор генерирует.
А что такое, с вашей точки зрения, "мусор"? Списки? Так я просвещу вас, для чего они. Это списки псевдобайт. Один список - один символ / одно слово. Если слово частое, в этом списке два псевдобайта (включая пробел), если очень редкое - четыре. Так понятно?
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
01.07.2020, 09:09
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А что такое, с вашей точки зрения, "мусор"? Списки? Так я просвещу вас, для чего они. Это списки псевдобайт. Один список - один символ / одно слово. Если слово частое, в этом списке два псевдобайта (включая пробел), если очень редкое - четыре. Так понятно?
Мусор - это объект ставший не нужным. Ваше приложение создаёт огромное количество короткоживущих объектов, которые перестают быть нужными и превращаются в мусор почти сразу после их создания. Сборка такого мусора занимает время процессора.

Получается, что ваше приложение большую часть времени не сжатием занимается, а выделением и высвобождением памяти. И пока вы ЭТО не исправите, никакие авторские BWT и псевдобайты, никакая многопоточность ваш код не ускорят. Многопоточность даже хуже сделает, ведь мусор в несколько потоков будет создаваться, а на десктопной машине сборщик мусора работает в один поток.

Ваша реализация очень дерьмовая. Именно ЭТОТ момент нужно исправлять. Не сжатие идёт медленно, а процессор отвлекается на другие задачи.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
01.07.2020, 09:25  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Ваше приложение создаёт огромное количество короткоживущих объектов, которые перестают быть нужными и превращаются в мусор почти сразу после их создания.
Не такое уже и "огромное". Классический Хаффман, например, ни одного такого, который одновременно является короткоживущим (превращается в мусор при выходе из блока) и объектом (а не byte, int и т. д.). Хаффман для слов - шесть, из которых три являются "огромными". Лемпель-Зив - три, из которых один "огромный" (точнее, он небольшой, но имеет миллионы копий). Считал только что. Это "огромное" количество?
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
01.07.2020, 09:27
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Не такое уже и "огромное"
2.3Гб на 12Мб сжимаемых данных "не огромное" ? Это конская дичь, настолько "огромное".

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Считал только что.
Мне всё равно, чего вы там насчитали для себя. Ваше приложение тормозит и вылетает. И профилировщик показал почему. Вы игнорируете его показания?
0
Эксперт по электронике
7145 / 3324 / 342
Регистрация: 28.10.2011
Сообщений: 13,115
Записей в блоге: 7
01.07.2020, 10:55
Цитата Сообщение от Pilarentes Посмотреть сообщение
мне не совсем понятно, почему нельзя протестировать самому на хотя бы на нескольких десятках файлов?
Зачем самому если другие сделают?

Цитата Сообщение от Usaga Посмотреть сообщение
И ещё нужно его как-то научить отладчиком пользоваться, чтобы не выкладывал приложения, которые просто падают с исключениями типа NRE.
Думаете получится? Я уже писал что из ТС не выйдет программист. Если он за это время так и не научился правильно писать программы, то уже не научится. То что у него в универе были хорошие оценки (с его слов) как видим ни чего не значит.

Цитата Сообщение от Usaga Посмотреть сообщение
Etyuhibosecyu, соберите своё приложение в x64.
Приложение уже x64.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А что такое, с вашей точки зрения, "мусор"?
Миллиарды объектов там где хватило бы одного! Каждое создание объекта (даже неявное) это выделение памяти. Не создавайте новых объектов если можно использовать те что уже есть.
Хорошо изучите все нюансы используемого ЯП. Это позволит оптимально писать проги.

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Это списки псевдобайт.
Вы каждый байт храните в отдельном элементе списка? Неудивительно для для 4 МБ сжимаемого файла нужно 4 ГБ оперативки!
В этом плане неуправляемый код имеет преимущество - массив может быть непрерывной последовательностью байт в памяти, а не списком указателей на объекты разбросанные по все оперативке и требующие гораздо больше памяти чем хранится данных.

Цитата Сообщение от Usaga Посмотреть сообщение
Многопоточность даже хуже сделает, ведь мусор в несколько потоков будет создаваться, а на десктопной машине сборщик мусора работает в один поток.
Да, и во время очистки мусора все потоки останавливаются. Чем больше мусора, тем дольше простаивают - тем больше время упаковки/распаковки файла.
Это типа защитный механизм программы чтобы неконтролируемо не росло число объектов!
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,752
01.07.2020, 10:59
Цитата Сообщение от locm Посмотреть сообщение
Думаете получится?
Нет, не получится. Прогресс нулевой...
0
629 / 393 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
01.07.2020, 11:22
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
7z при максимальных настройках потребляет больше 72 ГБ при обработке даже 20 байт?
Че? У меня на компе с 1гб памяти справился. А у вас 72гб оперативы установлено?
0
01.07.2020, 11:27

Не по теме:

Pilarentes, что только не придумаешь, чтобы оправдать свой говнокодище.

0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,837
Записей в блоге: 14
01.07.2020, 13:24  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
То что у него в универе были хорошие оценки (с его слов)
Вот скриншот. Надеюсь, не зацепил реальную фамилию и другие конфиденциальные данные. Есть и тройки, но по профильным предметам хорошие оценки.
Цитата Сообщение от locm Посмотреть сообщение
Миллиарды объектов там где хватило бы одного!
Что миллионы - правда, что миллиарды - нет.
Цитата Сообщение от locm Посмотреть сообщение
Вы каждый байт храните в отдельном элементе списка?
Иногда даже в трех. И 4.3 бита полезной информации (в среднем столько несет буква русского языка по формуле Шеннона) занимают 192 бита. Но хорошо, хоть не 384, так как я переделал псевдобайт из класса в структуру.
Цитата Сообщение от Pilarentes Посмотреть сообщение
Че? У меня на компе с 1гб памяти справился. А у вас 72гб оперативы установлено?
Написано же - при максимальных настройках. У меня - не установлено. Так пишет сам 7z, а значит, на самом деле еще больше.
Usaga, а вы уверены, что имеете право плевать на то, что я не поленился, подсчитал, затратил время, память и ресурсы клавиатуры, чтобы написать об этом? Вы, наверное, считаете себя каким-то гением, а меня - годным только "двор подмести"?
Миниатюры
Ares Preview 2.0 (Pre-Alpha)  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2020, 13:24

Вставка тега <pre></pre> в файлы директории
Здравствуйте, форумчане! Не подскажете как можно средствами php вставить тег &lt;pre&gt;&lt;/pre&gt; во все текстовые файлы в директории...

Вывести ответ сервера в <pre></pre>
Добрый день! Подскажите, пожалуйста, как мне в примере ниже сделать так, чтобы значение data выводилось не с помощью alert, а выводилось в...

Продам плату Stream Alpha Plus + Alpha Pro 2.0 + Tele 2.2 б/у
Плата Stream Alpha Plus немного б/у, CD-диск Alpho Pro 2.0, CD-диск TELE 2.2, USB-ключ защиты для программ. Обратите внимание на цены...

Netlist для ARES (proteus)
интересует 1 вопрос. А существуют ли программы (по мимо isis) которые могут сделать нетлист для ARES? А то искал в оркаде 10, там нет...

ARES 7 Professional экспорт в PDF негатив
При экспортирование готовой печатной платы в PDF формат в негативном цвете выходит вот это То есть отображаются только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru