我有一个应用程序可以将一些XML文档加载到内存中,然后使用Linq对它进行各种查询。
该应用程序在实时服务器(Windows Server 2003)和XP上的Visual Studio 2008下运行良好。但是在我的Vista笔记本电脑(4GB RAM,2GHz CPU)上,所有Linq查询运行确实慢。什么应该花费几毫秒而不是几秒钟。有趣的是,代码的所有其他部分都应该顺利而快速地运行。
有没有其他人遇到过这类事情的问题?
答案 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文件的成本。