Производительность Linq: какой запрос быстрее - PullRequest
2 голосов
/ 28 июня 2011

Кто-нибудь знает, что является более эффективным / быстрее. Что может быть хорошим способом проверить это самостоятельно, у меня нет больших XML-документов (<500 КБ, не уверен, большой это или маленький), но мне приходится снова и снова писать эти утверждения в коде, так что мне интересно что лучше / оптимально. </p>

XDocument doc = XDocument.Load (файл);

doc.Root.Element("childNode").Value;

или

doc.Element("rootNode").Element("childNode").Value ;

Еще один:

doc.Root.Elements("childNodes");

против

doc.Element("rootNode).Elements("childNodes");

против

doc.Element("rootNode").Descendants("childNodes"); 

против

doc.Root.Descendants("childNodes") ;

При сравнении:

doc.XPathSelectElement("/xpath").Value

это быстрее, чем метод DOM, т.е.

XMLDocument dom = new XMLDocument();
dom.LoadXml(input);
dom.SelectSingleNode("/xpath").Value 

1 Ответ

2 голосов
/ 28 июня 2011

Вы можете профилировать это самостоятельно, используя класс секундомера , или, если это действительно важно, изучить такие инструменты, как Ants Profiler, который даст вам некоторые правильные метрики.

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