std.zip expand: memory allocation failed
bauss
jj_1337 at live.dk
Wed Oct 27 07:13:10 UTC 2021
On Tuesday, 26 October 2021 at 13:43:36 UTC, Steven Schveighoffer
wrote:
> On 10/26/21 2:32 AM, bauss wrote:
>> On Monday, 25 October 2021 at 22:38:38 UTC, Imperatorn wrote:
>>> On Monday, 25 October 2021 at 20:50:40 UTC, Steven
>>> Schveighoffer wrote:
>>>> On 10/24/21 8:00 AM, Selim Ozel wrote:
>>>>
>>>>> It turns out my computer was literally running out of
>>>>> memory as the file was getting unzipped. For some reason
>>>>> to uncompress a 1-gig file with uncompressed size of 4-gig,
>>>>> Zip Archive of D-Lang tries to use more than 16 gig of RAM.
>>>>> I don't know why. Maybe I missed something. I use a Windows
>>>>> 10, DMD v2.091 with x86_mscoff.
>>>>
>>>> Wait, x86 is 32-bit. Max address space is 4GB. So maybe it
>>>> was just trying to use 4GB and running out of memory?
>>>>
>>>> -Steve
>>>
>>> Good catch, but still, should it use so much memory?
>>
>> Definitely not. It shouldn't use a lot of memory when
>> unzipping as it should be done in chunks!
>
> You guys aren't getting it:
>
> ```
> ubyte[] expand(ArchiveMember de);
> Decompress the contents of a member.
> Fills in properties extractVersion, flags, compressionMethod,
> time, crc32, compressedSize, expandedSize, expandedData[],
> name[], extra[].
> ```
>
> Where is it supposed to store that `ubyte[]`?
>
> -Steve
It's not supposed, but a new implementation can utilize something
like a stream.
More information about the Digitalmars-d-learn
mailing list