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

Multithreading #53

Closed
andrews05 opened this issue Dec 2, 2017 · 3 comments
Closed

Multithreading #53

andrews05 opened this issue Dec 2, 2017 · 3 comments

Comments

@andrews05
Copy link
Contributor

I won't claim to know much about multithreading but I think there are two possible ways it could be improved in ect.

  1. Thread pooling
  2. Per-file threading

I'd interested in looking into it myself, I have heard of OpenMP, though it may be a wee bit out of my depth...

@fhanau
Copy link
Owner

fhanau commented Dec 3, 2017

I have planned better multithreading since a looong time, and I hope to get back to it at some point. The code is not thread-safe by default atm, so there won't be a simple solution.

@andrews05
Copy link
Contributor Author

Good to hear, I look forward to it :)

@andrews05
Copy link
Contributor Author

When processing thousands of small files, I found this quick change improved performance up to 25% when using mt-deflate.

deflate.cpp:1372 if(options->multithreading > 1 && insize >= options->noblocksplit) {

(Of course I probably shouldn't be using mt-deflate in the first place for such scenarios)

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

No branches or pull requests

2 participants