为什么Linq to Xml在Vista上这么慢?

时间:2009-02-02 23:02:12

标签: c# xml linq windows-vista performance

我有一个应用程序可以将一些XML文档加载到内存中,然后使用Linq对它进行各种查询。

该应用程序在实时服务器(Windows Server 2003)和XP上的Visual Studio 2008下运行良好。但是在我的Vista笔记本电脑(4GB RAM,2GHz CPU)上,所有Linq查询运行确实慢。什么应该花费几毫秒而不是几秒钟。有趣的是,代码的所有其他部分都应该顺利而快速地运行。

有没有其他人遇到过这类事情的问题?

7 个答案:

答案 0 :(得分:1)

不,我绝对没有。看一下您的系统事件日志。那里有什么奇怪的事吗?看看你的CPU。是不是吃了你的CPU?这是你认为的吗?

答案 1 :(得分:0)

我的桌面和笔记本电脑上没有VS 2008和SQL DEV的任何问题。我的机器规格与您的相似。

答案 2 :(得分:0)

这里没问题,我的开发代码库中有很多linq。在我的笔记本电脑上运行Vista Ultimate(32)以进行开发。在我的测试服务器上运行Windows 2003。

没有我注意到的问题。

答案 3 :(得分:0)

获取类似VS内置的分析器,或Red Gate(http://www.red-gate.com/)的分析器,找出实际发生的情况!

答案 4 :(得分:0)

我在Vista下看到了巨大的疯狂制作性能问题,这些问题并非在XP下发生 - 但只有当我在IDE下运行调试版本时才会出现。

答案 5 :(得分:0)

我还没有看到您报告的性能问题。有关查询莎士比亚全部作品查找行数最多的字符的示例,请参阅http://thinqlinq.com/Default/Querying-the-complete-plays-of-Shakespeare-using-LINQ-to-XML.aspx。当跨越40个XML文件,每个大小为100 K,产生一个5兆字的XML文档时,我仍然看到亚秒级的查询时间。

您可能遇到了复杂连接或递归where子句导致性能下降的问题。

答案 6 :(得分:0)

笔记本电脑中的硬盘速度有多快。您可能只是看到从磁盘加载大型xml文件的成本。