feat: Allow configuring the number of decompression threads #114
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