Как стать автором
Обновить

Комментарии 6

А где сырцы этой сказки разработки?
Так-то, без сырцов, "Архиватор Бабушкина" (tm) еще лучше.
С нотариально заверенными скриншотами, да.

Сырцы, в принципе, есть в архиве, ilspy и ida их спокойно прожуют, да и 10кб не так много кода чтобы не разобрать вручную. А в c# просто обёртка, перекачивающая файлы (не самым лучшим, даже для c#, образом).

Так что в целом ничего страшного не случится, если автор их выложит просто на гитхаб, вроде секретностью тут особо не пахнет.
Скоростные алгоритмы сжатия честнее не с винраром сравнивать, а с другими современными быстрыми алгоритмами типа lz4, lzo, zstd.

Для примера на Ryzen 5 3600 создание сжатой в lz4 файловой системы из исходников ядра Linux 5.4.2:
time mksquashfs linux linux.sq -comp lz4

Выхлоп:
Exportable Squashfs 4.0 filesystem, lz4 compressed, data block size 131072
        compressed data, compressed metadata, compressed fragments,
        compressed xattrs, compressed ids
        duplicates are removed
Filesystem size 320585.83 Kbytes (313.07 Mbytes)
        9.22% of uncompressed filesystem size (3475253.81 Kbytes)
Inode table size 3552568 bytes (3469.30 Kbytes)
        39.45% of uncompressed inode table size (9006141 bytes)
Directory table size 3670969 bytes (3584.93 Kbytes)
        63.72% of uncompressed directory table size (5761046 bytes)
Number of duplicate files found 196796
Number of inodes 280181
Number of files 262664
Number of fragments 5712
Number of symbolic links  140
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 17377
Number of ids (unique uids + gids) 1
Number of uids 1
        root (0)
Number of gids 1
        root (0)

real    0m0,656s
user    0m2,051s
sys     0m1,163s

Итого имеем, что 845,9 МиБ (886 964 069) 65 688 файлов, 4 357 вложенных папок ужалось в 317,1 МиБ (332 529 664) за 0.656с.
А если использовать сразу утилиту lz4, там можно ещё больше ускорить параметром --fast=val:
# tar cf — linux-5.4.2-gentoo | wc -c
941844480
# tar cf — linux-5.4.2-gentoo | time lz4 -z -1 | wc -c
1.85user 0.27system 0:02.40elapsed 88%CPU (0avgtext+0avgdata 7464maxresident)k
0inputs+0outputs (0major+1591minor)pagefaults 0swaps
287991243
# tar cf — linux-5.4.2-gentoo | time lz4 -z --fast=25 | wc -c
1.19user 0.28system 0:01.76elapsed 84%CPU (0avgtext+0avgdata 8852maxresident)k
0inputs+0outputs (0major+1916minor)pagefaults 0swaps
511936329
# tar cf — linux-5.4.2-gentoo | time lz4 -z --fast=100 | wc -c
0.56user 0.42system 0:01.28elapsed 76%CPU (0avgtext+0avgdata 9416maxresident)k
0inputs+0outputs (0major+2089minor)pagefaults 0swaps
718117171

Жалко нельзя сжимать папку, а tar-ить очень долго на жёстком диске.
25 минут tar-ил папку program files размером 8 ГБ.
Тестировал на не сжатом видео в YUV, сжимает конечно круто. Примерно на уровне xpress16k в win10, но при этом у xpress16k скорость около 100мб/с, распаковка 300 мб/с (это без упора в SSD) а у этого в разы больше.
Про LZX тут можно и не говорить, конечно LZX сжимает как deflate, но скорость у меня 10 мб/с, распаковка 220 мб/с (так же без упора в SSD, что круто для словарного метода).
Хорошо бы подобный алгоритм сжатия (читал, таких алгоритмов оказывается не мало) добавили в ядро win10 и он работал бы в рилтайме, а не как LZX при котором файл распаковывается при его изменении и нужно сжимать по новой. Вроде в ядре linux есть lz4, а вот в винде только медленные варианты.

Можно подробнее про «усиление стойкости криптографии»? Где почитать выкладки и доказательства?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории