Skip to content

Voodoo file sorting

Franco Corbelli edited this page Sep 23, 2023 · 1 revision

One idea to enhance compression is "grouping" similar file to gain a better ratio
Default (aka: zpaq's) is "extension and size\16K"

zpaqfranz allows user-defined sorting (aka: orderby) before adding to the archive
Allowed keywords are ext, nilsimsa, size, name, hash, date, data and -desc

Examples

zpaqfranz a j:\test1_default               c:\dropbox\dropbox 
zpaqfranz a j:\test1_nosort                c:\dropbox\dropbox -nosort
zpaqfranz a j:\test1_name                  c:\dropbox\dropbox -orderby name
zpaqfranz a j:\test1_ext_name              c:\dropbox\dropbox -orderby ext;name
zpaqfranz a j:\test1_data                  c:\dropbox\dropbox -orderby data
zpaqfranz a j:\test1_data_desc             c:\dropbox\dropbox -orderby data -desc
zpaqfranz a j:\test1_date                  c:\dropbox\dropbox -orderby date
zpaqfranz a j:\test1_date_desc             c:\dropbox\dropbox -orderby date -desc
zpaqfranz a j:\test1_date_hash             c:\dropbox\dropbox -orderby date;hash
zpaqfranz a j:\test1_hash                  c:\dropbox\dropbox -orderby hash
zpaqfranz a j:\test1_ext_hash              c:\dropbox\dropbox -orderby ext;hash
zpaqfranz a j:\test1_ext_size              c:\dropbox\dropbox -orderby ext;size
zpaqfranz a j:\test1_ext_size_desc         c:\dropbox\dropbox -orderby ext;size -desc
zpaqfranz a j:\test1_size_hash             c:\dropbox\dropbox -orderby size;hash
zpaqfranz a j:\test1_size_hash_desc        c:\dropbox\dropbox -orderby ext;hash -desc
zpaqfranz a j:\test1_size_ext_hash         c:\dropbox\dropbox -orderby size;ext;hash
zpaqfranz a j:\test1_size_ext_hash_desc    c:\dropbox\dropbox -orderby size;ext;hash;desc

Results

18/10/2021  15:01     7.154.001.617 test1_date.zpaq
18/10/2021  15:02     7.155.027.613 test1_date_hash.zpaq
18/10/2021  14:58     7.157.746.383 test1_name.zpaq
18/10/2021  15:01     7.159.116.656 test1_date_desc.zpaq
18/10/2021  14:56     7.159.226.221 test1_default.zpaq
18/10/2021  14:57     7.164.734.945 test1_nosort.zpaq
18/10/2021  14:59     7.165.129.610 test1_data.zpaq
18/10/2021  15:00     7.172.704.895 test1_data_desc.zpaq
18/10/2021  14:58     7.174.671.826 test1_ext_name.zpaq
18/10/2021  15:04     7.175.607.898 test1_ext_size.zpaq
18/10/2021  15:05     7.176.401.722 test1_ext_size_desc.zpaq
18/10/2021  15:08     7.179.349.813 test1_size_ext_hash.zpaq
18/10/2021  15:09     7.179.349.813 test1_size_ext_hash_desc.zpaq
18/10/2021  15:06     7.179.352.124 test1_size_hash.zpaq
18/10/2021  15:07     7.229.757.716 test1_size_hash_desc.zpaq
18/10/2021  15:04     7.232.004.440 test1_ext_hash.zpaq
18/10/2021  15:03     7.257.637.214 test1_hash.zpaq

There is no easy way to determine which sorting will cause the least dimension; exact methods exist (but of combinatorial complexity, so essentially useless for real-world situations). The default is, good enough in the average case, but not guaranteed to be the best

Clone this wiki locally