High memory usage in vibe.d application

bauss jj_1337 at live.dk
Fri Jun 29 10:31:14 UTC 2018


On Friday, 29 June 2018 at 10:21:24 UTC, Radu wrote:
> On Friday, 29 June 2018 at 09:44:27 UTC, Anton Fediushin wrote:
>> Almost forgot, there are two timers which call this function 
>> for two different streams.
>>
>> Value of `metaint` is 16000, which means that only 16KB of 
>> memory are allocated for the `buffer`, then it reads another 
>> byte which contains length of the metadata / 16 and then it 
>> reads the metadata which is 100-200 bytes long.
>>
>> This gives us... 16KiB per one nowPlaying() call. Why doesn't 
>> it free the memory?
>
> Maybe use the 
> https://dlang.org/phobos/std_experimental_allocator_mallocator.html instead of theAllocator as it defaults to GC.
>
> Also, why you .idup the array? .array already creates a new one 
> on the heap.

This.

Which kind of makes the usage of theAllocator useless.

I was going to suggest using @nogc too, because it would most 
likely be GC allocated memory that is taking up space.

I run multiple vibe.d applications and I have no issues with 
memory (Even with GC.)


More information about the Digitalmars-d-learn mailing list