You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem
Trying to decompress a moderately large ZIP file (~80 MB) containing files of 200 kB to 1 MB using the async unzip function maxes out my system memory and CPU. Using unzipSync instead works perfectly and takes less an 100ms in the above code, while unzip takes a full minute. Increasing the ZIP size to 150 MB can cause unzip to fail with this error:
Uncaught DOMException: The object could not be cloned.
cbify browser.js:910
inflate browser.js:1174
_loop_3 browser.js:2547
unzip browser.js:2556
Decompressing a ZIP with 8 10MB files works okay so it seems to be mainly caused by the number of files, but the unzipSync function is still much faster decompressing it. Using a performance profiler the issue seems to be with the postMessage WebWorker function.
Test machine has an i7 6700, 16GB RAM
The text was updated successfully, but these errors were encountered:
Reproduced locally. I have a potential fix for the slow performance but the crashing on ZIPs with hundreds of medium-size files might be more related to #58 than anything.
How to reproduce
The issue can be reproduced with the following code:
The problem
Trying to decompress a moderately large ZIP file (~80 MB) containing files of 200 kB to 1 MB using the async
unzip
function maxes out my system memory and CPU. UsingunzipSync
instead works perfectly and takes less an 100ms in the above code, whileunzip
takes a full minute. Increasing the ZIP size to 150 MB can causeunzip
to fail with this error:Decompressing a ZIP with 8 10MB files works okay so it seems to be mainly caused by the number of files, but the
unzipSync
function is still much faster decompressing it. Using a performance profiler the issue seems to be with the postMessage WebWorker function.Test machine has an i7 6700, 16GB RAM
The text was updated successfully, but these errors were encountered: