std.zip expand: memory allocation failed
schveiguy at gmail.com
Tue Oct 26 20:33:17 UTC 2021
On 10/26/21 1:38 PM, Imperatorn wrote:
> That's the current implementation.
No, that's the API. You cannot fix the implementation with that API and
not end up allocating an array to hold the entire unzipped contents. You
can't even decompress to a file, and then mmap those contents -- the
address space isn't there.
> I don't know about *nix, but my Windows machine can easily extract a
> file bigger than my RAM.
zlib does not require decompressing in entirety. This is just the way
that std.zip decided to expose the API. e.g. iopipe uses an expandable
buffer for decompression and compression, which does not have to contain
the entire file.
More information about the Digitalmars-d-learn