Думаю, многие тут знакомы с понятием файловой системы со сжатием. Возможно, вы даже пользовались btrfs или сжатием ntfs.
Для тех, кто «не в теме»: Немного про сжатые папки в Windows.
В Windows 10 была добавлена новая реализация сжатия файловой системы — LZX, и вроде бы очень интересная переспективая открылась, но почему-то никто данную возможность не афишировал, и нигде о ней не написано. Поэтому наткнуться на данное чудо можно лишь случайно, что со мной и произошло.
Сравнение с обычным сжатием NTFS
+ степень сжатия гораздо выше, почти на уровне zip.
— сжатие производится вручную, а также файл при изменении разжимается, и процедуру сжатия приходится выполнять снова.
ВНИМАНИЕ! Файлы, сжатые в Windows 10 алгоритмом LZX, будет невозможно открыть во всех предыдущих версиях Windows!
Целесообразность
LZX, также как и стандартное сжатие NTFS, при мощности современных многоядерных процессоров абсолютно прозрачен для пользователя и при чтении не сказывается на производительности.
Исходя из особенностей данного вида сжатия, он не подходит для динамически записываемых файлов, то есть временные папки сжимать нет смысла. Но в случае со статическими файлами, которые всегда используются только на чтение, например, директория с установленными программами или играми, системные папки, а также просто файловые хранилища.
На диске: сжатый
Шах и мат, разработчиков игры явно не волновало занимаемое место:
Как видите, новое сжатие может дать очень ощутимую экономию места, в зависимости от сжимаемых данных.
Стоит учесть, что точно не имеет смысла сжимать файлы изображений, музыки или видео, и тем более архивы, так как они сами уже внутри находятся под сжатием.
Использование
Сжатие производится при помощи консольной утилиты compact, входящей стандартную в поставку Windows.
Сжатие одного файла:
compact /c /a /exe:lzx "<путь к файлу>"
Сжатие всех файлов в указанной директории и всех поддиректориях:
compact /c /s /a /i /exe:lzx "<путь к директории>*"
или же
cd /d "<путь к директории>"
compact /c /s /a /i /exe:lzx
Примечание: если файлы до этого уже были сжаты другим сжатием NTFS, то нужно добавить флаг /f в команду, иначе они будут проигнорированы.
Также имена файлов, сжатых при помощи данного метода, не будут подсвечиваться в проводнике синим.
- Папка WinSxS уже находится под аналогичным сжатием.
- Сжатие загрузочных файлов из папки boot, в том числе файла bootmgr из корня диска, приведет к невозможности запуска системы.
Сжимать в системной директории рекомендуется только особо «жирные» папки, например System32, SysWOW64, Installer, Assembly, Microsoft.NET, Fonts итд, главное не трогать вышеобозначенные вещи (boot, WinSxS)!
compact /u /a /exe "<путь к файлу>"
compact /u /a /s /exe "<путь к директории>*"
Справку по всем возможным флагам утилиты можете посмотреть через compact /?
Заключение
Объемы носителей информации неуклонно растут и экономия места на них потихоньку уходит в прошлое.
Но данный метод сжатия, в первую очередь, оценят владельцы SSD, место на которых пока ещё ограничено и стоит довольно дорого. Плюс даже некоторый прирост в скорости чтения, так как диску придется считывать меньше данных (но если у вас слабый ЦП, то прирост, скорее всего, нивелируется затратами времени на разжатие данных).
У некоторых это, возможно, даже станет поводом для перехода на Win10.
Автор: устаршой по званию
После парочки тестов, теперь понятно, почему мелкомягкие не афишировали внедрения LZX – он хоть и лучше сжимает LZNT1 (стандартное сжатие в NTFS), но некорректно отображает объём сжатых данных.
Ну знаете, очень трудно ужать уже сжатый 50 гигабайтный архив FreeArc в 1,8 гига.
Не, сперва меня заинтересовал сжатый файл san_francisco.dat ( Watch_Dogs2\data_win64\worlds\san_francisco ), который чудом сжался с 7.32 Гб до 2.43 Гб, хотя 7zip и FreeArc смогли ужать лишь до ~5,9 Гб этот файлик, вот тогда у меня и закралось подозрение…
В общем, тут пару примеров
1) Сколько байт данных
2) Сколько отображается, что занимает на диске
3) Сколько на самом деле занимает (вычисляется путём количества освобождённого места после удаления всего каталога)
======
Assassin’s Creed Origins
52,4 ГБ (56 309 377 783 байт)
32,3 ГБ (34 694 205 440 байт)
В итоге
48.3 ГБ (51 874 299 904)
======
Fortnite
18,0 ГБ (19 352 298 965 байт)
8,36 ГБ (8 982 855 680 байт)
В итоге
8,36 ГБ (8 984 076 288)
======
FarCry5
29,4 ГБ (31 594 339 261 байт)
11,1 ГБ (11 966 234 624 байт)
В итоге
27.1 ГБ (29 146 284 032)
======
Counter-Strike Global Offensive
15,4 ГБ (16 610 449 044 байт)
8,09 ГБ (8 694 157 312 байт)
В итоге
8,09 ГБ (8 695 832 576)
======
Deus Ex Mankind Divided
51,8 ГБ (55 709 326 633 байт)
20,4 ГБ (21 933 654 016 байт)
В итоге
34.42 ГБ (34 820 132 864)
=====
Just Cause 3
51,2 ГБ (55 004 319 222 байт)
40,4 ГБ (43 395 002 368 байт)
В итоге
40,4 ГБ (43 392 256 320)
===========================
Как видно, только у части папок отображается корректно размер занимаемый на диске, так что не сильно радуйтесь “освобождённому” пространству
кто нибудь измерял самый главный показатель – скорость распаковки, оптимизация алгоритма оной..?
то есть, насколько данный алгоритм позволяет “ускорить” сравнительно медленный жесткий диск? и “ускоряет” ли вообще? а если нет, то он и даром не нужен..