Как оптимально по памяти хранить большое кол-во объектов?
У меня есть словарь, который представляет из себя дерево каталогов:
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, но мне хочется потреблять меньше памяти
вот такую утечку можно наблюдать
