Итак, я возился с созданием моей собственной отдельной структуры данных. В конце концов, у меня все заработало, но потом я обнаружил, что использование памяти было смехотворно высоким по сравнению со старым методом.
Чтобы проверить это, я создал то же тестовое приложение, но я буду хранить данные в своих PVirtualNodes.
При добавлении 1000 корней с 1000 дочерними элементами каждая отдельная структура данных использовала около 208 МБ, в то время как PVirtualNode использовала только около 160 МБ, и это было немного быстрее.
Я подумал об использовании отдельной структуры данных. предполагалось использовать меньше памяти и быть быстрее, но я полагаю, что это цена?
Вот источник для «Хранить данные в PVirtualNode»: http://pastebin.com/j6L2eHJt
Вот источник для «Хранить данные в Отдельная структура данных ": http://pastebin.com/iSwR0hW1