Вероятно, это похоже на .NET коллекций и кучу больших объектов (LOH)
В .Net я загружаю XmlDocument со строкой, которая составляет ~ 200 КБ текстового документа при преобразовании xml в base64. Дело в том, что строка должна быть размещена в куче больших объектов. Из приведенных здесь сравнений я знаю, что XmlReader является наиболее эффективным способом чтения строки, но XmlDocument, вероятно, дает мне более прямолинейное чтение с большей функциональностью (xpath).
Каждый узел моего XML должен быть довольно маленькой строкой, почти ничего не приближающейся к куче больших объектов. Используя Lutz .Net Reflector, кажется, что XmlDocument использует связанные узлы внутри.
Итак, наконец, мой вопрос: вызовет ли загрузка этой строки, которая сохраняет ~ 200 КБ (> 85000 байт), еще один объект в LOH при использовании XmlDocument. Мы немного беспокоимся о фрагментации кучи и об ошибках OOM. Или XmlDocument просто (по крайней мере, для случая данных, о которых я спрашиваю) создает много объектов в управляемой куче?