Skip to content
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

zstd with parallelism instead of gzip #1170

Closed
wants to merge 4 commits into from
Closed

Conversation

anesthetice
Copy link
Contributor

@anesthetice anesthetice commented Aug 7, 2024

https://github.com/anesthetice/rnote-compression-benchmarking/

From the compression methods tested, zstd seems to be a better choice for the rnote file format:

  • Better compression ratio
  • Faster reads + writes
  • Simple multi-threading

median out of 16 samples

@anesthetice anesthetice marked this pull request as ready for review August 8, 2024 16:51
@anesthetice anesthetice changed the title draft: zstd with parallelism instead of gzip zstd with parallelism instead of gzip Aug 8, 2024
@anesthetice
Copy link
Contributor Author

Implementation went smoother than what I expected, rnote can still decompress gzip files and will compress them using zstd the next time the file is saved. One thing left to discuss I think is, should we expose the compression level to users?

@anesthetice
Copy link
Contributor Author

Here's a rough before and after comparison of a couple files (different to the ones used for rnote-comp-benchmarking)

Before:
2024-08-08-190025_hyprshot

After:
2024-08-08-190046_hyprshot

@RayJW
Copy link
Contributor

RayJW commented Aug 8, 2024

Amazing work, that is exactly what I was talking about. Thanks, for looking into this! Looks like it's definitely worth considering. :)

@anesthetice anesthetice marked this pull request as draft August 14, 2024 15:45
@anesthetice
Copy link
Contributor Author

converted this to a draft, to focus on an updated file format

@anesthetice
Copy link
Contributor Author

anesthetice commented Aug 25, 2024

closing this to de-clutter, see #1177

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants