feat: Allow configuring the number of decompression threads - #114
Open
denghongcai wants to merge 2 commits into
Open
feat: Allow configuring the number of decompression threads#114denghongcai wants to merge 2 commits into
denghongcai wants to merge 2 commits into
Conversation
Collaborator
|
This would fix #117 |
mhansen
reviewed
Dec 4, 2025
This change introduces a new `--threads` command-line option to allow users to manually specify the number of threads used for decompression. This is particularly useful in scenarios with high disk I/O latency but high bandwidth, where fine-tuning the thread count can improve performance. To maintain backward compatibility, the existing `--single-threaded` flag is preserved and is made mutually exclusive with the new `--threads` option. - Added `--threads` argument to `UnzipArgs` in `src/main.rs`. - Used `clap`'s `conflicts_with` attribute to ensure `--single-threaded` and `--threads` cannot be used together. - Initialized Rayon's global thread pool with the specified number of threads. - Updated the logic to treat `--threads 1` as equivalent to `--single-threaded`.
denghongcai
force-pushed
the
feat-configurable-threads
branch
from
December 6, 2025 14:26
83ba8e6 to
53ee572
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change introduces a new
--threadscommand-line option to allow users to manually specify the number of threads used for decompression. This is particularly useful in scenarios with high disk I/O latency but high bandwidth, where fine-tuning the thread count can improve performance.To maintain backward compatibility, the existing
--single-threadedflag is preserved and is made mutually exclusive with the new--threadsoption.Added
--threadsargument toUnzipArgsinsrc/main.rs.Used
clap'sconflicts_withattribute to ensure--single-threadedand--threadscannot be used together.Initialized Rayon's global thread pool with the specified number of threads.
Updated the logic to treat
--threads 1as equivalent to--single-threaded.Tests pass
Appropriate changes to README are included in PR