RecursiveExtractor is a .NET Standard 2.0 archive extraction Library, and Command Line Tool which can process 7zip, ar, bzip2, deb, gzip, iso, rar, tar, vhd, vhdx, vmdk, wim, xzip, and zip archives and any nested combination of the supported formats.
MIT License
194
stars
29
forks
source link
Refactor parallel behavior to perform only at top level #113
The parallel option currently enables parallel extraction when possible inside of extractors. However, many implementations are not thread-safe as so this support is limited.
Instead we could parallelize the recursive part of the extraction at the top level - this should sidestep any non-threadsafe implementations in the underlying extractor libraries.
The parallel option currently enables parallel extraction when possible inside of extractors. However, many implementations are not thread-safe as so this support is limited.
Instead we could parallelize the recursive part of the extraction at the top level - this should sidestep any non-threadsafe implementations in the underlying extractor libraries.
For example, add the parallelization here: https://github.com/microsoft/RecursiveExtractor/blob/84b45b6be7c908e9da9658da2b6d6adeacd66ccc/RecursiveExtractor/Extractor.cs#LL647C23-L647C23
Also part of this refactoring:
Remove individual extractor level parallel implementations. Remove any async parallel implementations.
Alternately:
Deprecate parallel option entirely - remove all functionality and update doc ocomments appropriately.