Skip to content

Nova Prism v0.9.4 — бета

Pre-release
Pre-release

Choose a tag to compare

@confeden confeden released this 27 Aug 13:58
· 3 commits to main since this release

Установленные программы теперь сжимаются плотнее, чем у 7-Zip на максимуме.

Что изменилось

  • Девять настоящих установленных программ (2,74 ГБ) — отставание было 1,8%, стало опережение на 0,2%. Одним архивом на всё дерево — 593 862 888 байт против 621 756 049 у 7z -mx9 (на 4,5% меньше) и на 13% быстрее, чем в 0.9.3. Разбор начался с вопроса «какой ТИП файлов проигрывает», а не «какая установка», и ответ оказался узким: у .exe отставание было 15,1%, при том что по одному файлу мы на 0,10% МЕНЬШЕ 7-Zip. Весь проигрыш давали девять программ инструментария Go, в каждую из которых влинкована одна и та же среда исполнения — один и тот же код лежал в наборе девять раз, а увидеть это можно, только если он попадает в одно окно сжатия. Теперь блок с машинным кодом растёт до 64 МБ. Это предел, который формат допускал всегда, поэтому архивы 0.9.4 читает и распаковывает версия 0.9.3 — проверено.
  • Ресурсы браузерных приложений (.pak у Discord, opencode и подобных) — на 20,9% меньше. Два таких приложения несут два почти одинаковых набора языковых файлов, но по алфавиту путей они оказывались в 56 МБ друг от друга. Механизм, который кладёт одноимённые файлы рядом, включался только от мегабайта, а языковой файл меньше; теперь порог 96 КБ, и вместе с ним ужесточена проверка размера. Это не подгонка, а измеренная граница: у .pak 98,3% одноимённых пар совпадают по размеру в пределах 2%, у установленного Python — только 13%.
  • Уровень по умолчанию тоже стал плотнее — на 1,8% на дереве программ, за то же время.
  • Уже сжатые данные упаковываются в полтора раза быстрее при том же архиве до байта: 405 МБ музыки — 21 секунда вместо 35.
  • В окне теперь открываются и распаковываются чужие архивы: .zip и всё, что на нём построено (.jar, .apk, .docx, .fb2.zip), а также .7z. Раньше это умела только командная строка, а окно отвечало «не архив NOVA». Изменять чужой архив нельзя — только читать; .rar программа узнаёт и говорит об этом прямо.
  • Даты файлов больше не теряются при работе с чужими архивами. Распакованный из .zip или .7z файл получал текущее время вместо своего, а .zip, созданный самой программой, помечал всё моментом упаковки. Причина не в мелочи: в zip время хранится в формате MS-DOS, а оно местное и без указания пояса, поэтому прочитать его как UTC — значит сдвинуть каждый файл на смещение машины. Теперь правильный ответ спрашивается у Windows вместе с правилами перехода на летнее время для конкретной даты, а если в архиве есть более точная метка (поле 0x5455), берётся она. Проверено на четырёх случаях против 7-Zip — везде совпадает до секунды.

Silesia, enwik8, PDF, фотографии, звук и набор для пережатия не изменились ни на байт на всех трёх уровнях: новые правила касаются только машинного кода и одноимённых файлов.

Старые архивы читаются как читались.

Полный список изменений — в CHANGELOG.