Directory recursive walking
dog2002
742617000027 at aaathats3as.com
Thu Jan 14 20:23:37 UTC 2021
On Thursday, 14 January 2021 at 16:47:45 UTC, drug wrote:
> On 1/14/21 7:06 PM, dog2002 wrote:
>> On Thursday, 14 January 2021 at 16:01:43 UTC, drug wrote:
>>> On 1/14/21 6:55 PM, drug wrote:
>>>>>
>>>>> But this method consumes a huge amount of memory (up to
>>>>> 4 GB and more). Is there a more appropriate way to walk
>>>>> directories recursively that does not consume a lot of
>>>>> memory?
>>>>
>>>> DirEntry is a struct. First of all I would try this:
>>>> ```D
>>>> foreach(ref entry; dirEntries(path, SpanMode.shallow, false))
>>>> ```
>>>
>>> Does your directory just contain large amount of files?
>>
>> Yes. I forgot to add it in the original post.
>
> How much files do you have? DirEntry size is 168 bytes only and
> dirEntry is lazy range so I'm curious what is the reason of
> huge memory consumption. Do you use Windows 32 bits between?
About 1000 large files.
I want to replace several first bytes in all the files, so I just
copy the remaining bytes into a new file. Might this be the
reason for high memory consumption? If so, is there a way not to
copy the entire file, just delete first bytes and write the
replaced bytes into the beginning of the file?
I use Windows x64.
More information about the Digitalmars-d-learn
mailing list