Как оптимально по памяти хранить большое кол-во объектов?

У меня есть словарь, который представляет из себя дерево каталогов:

public class TreeNode
{
     public readonly SortedDictionary<string, TreeNode> TreeChildren = new();
}

В дерево добавляются объекты, которые выглядят вот так: (string topic, T obj) topic - это топик, по которому пришел объект, например, вот: "svc/system/license/state",

нужно хранить историю всех сообщений например, пришел вот такой топик "svc/system/license/state" и какой-то объект, а потом еще по такому топику другой объект, вот первый уже должен пойти в историю и проблема в том, что не получается как-то оптимально хранить историю каждой ноды в памяти, оперативка слишком сильно расходуется

я выложил sample на гитхаб, можно посмотреть: https://github.com/INTERNALINTERFERENCE/tree-avalonia/blob/master/tree/Services/Tree/TreeNode.cs

я попробовал добавлять историю в litedb, но мне хочется потреблять меньше памяти

вот такую утечку можно наблюдать введите сюда описание изображения


Ответы (0 шт):