Linq性能:哪个查询更快

时间:2011-06-27 20:16:13

标签: linq performance linq-to-xml

有谁知道哪个更有效/更快。什么是自己测试这个的好方法,我没有大型XML文档(< 500 KB,不确定它是大还是小)但是我必须在代码中一遍又一遍地写这些语句,所以想知道哪个更好/最优。

XDocument doc = XDocument.Load(file);

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

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

另一个:

doc.Root.Elements("childNodes");

VS

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

VS

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

VS

doc.Root.Descendants("childNodes") ;

比较时:

doc.XPathSelectElement("/xpath").Value

是否比DOM方法更快,即

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

1 个答案:

答案 0 :(得分:2)

您可以使用Stopwatch class自行分析,或者如果它非常重要,请查看Ants Profiler等工具,它们会为您提供适当的指标。