производительность linq to xml - PullRequest
       2

производительность linq to xml

7 голосов
/ 06 февраля 2011

Я слышал, что у LINQ to XML есть некоторые проблемы с производительностью, и некоторые из моих друзей рекомендовали мне не использовать его в моем приложении.Я не смог найти что-нибудь подходящее на MSDN, и я не хочу полагаться на «какой-то интернет-блог».Кто-нибудь знает официальную точку зрения по этому вопросу или какой-либо заслуживающий доверия источник?

Ответы [ 3 ]

12 голосов
/ 06 февраля 2011

Использование LINQ to XML приведет к считыванию всего файла в память.

Если вы читаете огромный XML-файл (сотни мегабайт), это проблема.
Вместо этого вы можете использоватьraw XmlReader, который обеспечивает просмотр XML-файла только для пересылки и не будет читать весь файл сразу.

Если вы работаете с XML-файлами нормального размера, LINQ to XML будет в порядке.

LINQ to XML на несколько порядков проще в использовании, чем XmlReader.
Вам следует использовать XmlReader только в том случае, если вы знаете, что будете иметь дело с XML-файлами объемом 200 МБ или если вы измерили свою производительность идоказал, что конструктор XDocument работает слишком медленно.

7 голосов
/ 06 февраля 2011
4 голосов
/ 06 февраля 2011

Просто Google linq vs xmlreader у вас будет.

Лучший результат, http://www.nearinfinity.com/blogs/joe_ferner/performance_linq_to_sql_vs.html,, приводит к выводу, что он медленнее по сравнению с xmlreader (конечно, поскольку linq2Xml построен поверх xmlreader), но ИМХО, это намного лучше, чем приемлемо, поскольку вы гибкость и удобство чтения / кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...