Справочная информация для понимания вопроса
В настоящее время я разрабатываю простой, легкий (зависящий от приложения) API на основе сообщений в C # 4.0.Большинство сообщений покидают стек .NET / Silverlight, поэтому они сериализуются в виде потока XML.Некоторые сообщения также отправляются / принимаются локальным компонентам, поэтому для сериализации нет оснований.
В настоящее время для этого API разработан простой уровень абстракции данных, который содержит содержимое сообщения.Этот уровень абстракции данных предполагается использовать исключительно для этой цели.
Теперь существует проблема, заключающаяся в том, что, особенно во время инициализации приложения, существуют очень большие сообщения, которые принимаются другими системами, таким образом,XML-поток довольно тяжелый (несколько тысяч XML-элементов).Это означало бы, что генерируется несколько тысяч экземпляров объектов абстрактного слоя данных, обрабатывается сообщение, а затем удаляются все экземпляры данных.
Вопрос
Мой вопросбыло бы: является ли linq-to-xml достаточно хорошим с точки зрения потребления памяти / производительности, поэтому нет необходимости в отдельном уровне абстракции данных?Насколько я понимаю, linq-to-xml отображает только контент, если контент записывается в поток.
Спасибо за отзыв.