On Friday, 29 June 2018 at 11:01:41 UTC, Anton Fediushin wrote:
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.
Thanks, I'll try that.
...
I will deploy that and see if it changes anything.
It did! Memory usage went down to 7MiB yet it still grows
slightly. I'll monitor if it changes in a couple of hours but it
is much better.
Thank you a lot, Radu. It turns out that theAllocator is so
tricky.