-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
What compression speed would we be OK for levels 8 and 9?
If we targeted around 15-20 MB/s and 5-10 MB/s respectively, then we could use (the slightly inaccurately named) optimal parsing strategy to get significantly better compression ratios. In my very preliminary experiments I've been able to hit:
fdeflate-opt: 19.0 MiB/s 22.62%
fdeflate-opt: 9.2 MiB/s 22.33%
I think I may be able to improve compression ratio further by adopting libdeflate's block splitting strategy, but their code is extremely well optimized, so replicating it isn't necessarily going to get as good speed
For reference, these are the current compression speeds on my system for qoibench:
fdeflate0: 17052.1 MiB/s 100.02%
fdeflate1: 390.2 MiB/s 24.41%
fdeflate2: 275.2 MiB/s 23.79%
fdeflate3: 223.2 MiB/s 23.77%
fdeflate4: 150.5 MiB/s 23.67%
fdeflate5: 105.6 MiB/s 23.66%
fdeflate6: 79.3 MiB/s 23.37%
fdeflate7: 60.6 MiB/s 23.23%
miniz_oxide:
miniz_oxide7: 32.6 MiB/s 23.44%
miniz_oxide8: 25.2 MiB/s 23.36%
miniz_oxide9: 21.6 MiB/s 23.31%
zlib-rs:
zlib-rs7: 64.0 MiB/s 23.28%
zlib-rs8: 37.5 MiB/s 23.04%
zlib-rs9: 24.6 MiB/s 22.86%
libdeflate:
libdeflate7: 95.5 MiB/s 23.36%
libdeflate8: 58.7 MiB/s 23.10%
libdeflate9: 46.6 MiB/s 23.04%
libdeflate10: 19.0 MiB/s 22.16%
libdeflate11: 11.4 MiB/s 21.88%
libdeflate12: 7.2 MiB/s 21.70%
zopfli:
zopfli[iter=1]: 0.6 MiB/s 21.78%
zopfli[default]: 0.27 MiB/s 21.47%
Metadata
Metadata
Assignees
Labels
No labels