-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compression ratio example #2765
Comments
For example, if you were to compress Same thing for It's not clear why this swings exist. |
A few early results, analyzing
This explains why level 11 and before are unable to compress this file : they are looking for 4+ bytes matches, and there are none in this file (which suggests a bunch of 32-bit fields which are non-repetitive). As consequence, only the last Now, level 13-15 also fail to compress this file, even though they are also looking for matches of size 3. Example of cost estimation for level 13 : So an initial rounding error in cost estimation makes these algorithms select vastly different paths, with one ultimately proving way better than the other. It's obviously rare, in most cases, 2 differents paths are not that different in term of cost, and whatever difference exist, they sort of even out, or there is a sort of broad tendency that tends to favor a set of choices over the other one (aka This is the classical local-vs-global optimization challenge, and is a known side-effect of these path-searching algorithms. |
Now I have an example where bothparts can't be compressed to ~500, even though part1 can. |
Hello,
first time working with zstd, I'm testing it and found a little problem.
I have 3 files: "part1.bin", "part2.bin" and a combined "bothparts.bin".
part1 is compressed to 500 bytes, part2 to 30 bytes, so I expected
the combined file to be compressed to around 530, but it is 1k bytes.
Don't know if you guys are aware of this... the files are here:
http://users.beotel.net/~gwh/zstd/zstd.zip
(both rar and zip are good with these example files)
The text was updated successfully, but these errors were encountered: