How does multithreading improve the performance of an unzip operation? I would think the opposite, given the context switching and (abstracted) low level drive writes.
It’s heavily CPU bound in a normal system today. Extracting (let alone compressing) a 2 GB file will take a noticeable amount of time. Reading the whole thing from an nvme will take roughly 1 second. Random access is no longer a relevant performance impact either.
It is my understanding that multithreaded extraction is hard(er) cause the used dictionary is built up incrementally. So to extract later parts you need to have extracted earlier parts.
I use it on occasion, since it will deflate 100+GB zip files much faster than 7zip will. (7z is single threaded for pkzips)
It’s been more than a decade since I used it to compress anything though. LZMA2 rocks.
How does multithreading improve the performance of an unzip operation? I would think the opposite, given the context switching and (abstracted) low level drive writes.
It’s heavily CPU bound in a normal system today. Extracting (let alone compressing) a 2 GB file will take a noticeable amount of time. Reading the whole thing from an nvme will take roughly 1 second. Random access is no longer a relevant performance impact either.
It is my understanding that multithreaded extraction is hard(er) cause the used dictionary is built up incrementally. So to extract later parts you need to have extracted earlier parts.