Почему Linq to Xml так медленно работает в Vista? - PullRequest
0 голосов
/ 03 февраля 2009

У меня есть приложение, которое загружает некоторые документы XML в память, а затем выполняет различные запросы к нему, используя Linq.

Приложение отлично работает на работающем сервере (Windows Server 2003) и под Visual Studio 2008 на XP. Но на моем ноутбуке Vista (4 ГБ ОЗУ, 2 ГГц ЦП) все запросы Linq выполняются действительно очень медленно. То, что должно занять пару миллисекунд, вместо этого занимает пару секунд. Самое смешное, что все остальные части кода работают гладко и быстро, как и должны.

Кто-нибудь еще имел проблемы с этим типом вещей?

Ответы [ 7 ]

1 голос
/ 03 февраля 2009

Нет, определенно нет. Загляните в системный журнал событий. Что-нибудь странное там происходит? Посмотри на свой процессор. Что-то пожирает ваш процессор? Это то, что вы думаете?

0 голосов
/ 03 февраля 2009

Как быстро работает жесткий диск вашего ноутбука. Возможно, вы просто видите стоимость загрузки большого XML-файла с диска.

0 голосов
/ 03 февраля 2009

Я не видел проблем с производительностью, о которых вы сообщаете. См. http://thinqlinq.com/Default/Querying-the-complete-plays-of-Shakespeare-using-LINQ-to-XML.aspx для примера, который запрашивает полное собрание сочинений Шекспира, находя символы с наибольшим количеством строк. При объединении 40 XML-файлов каждый размером по сто К, в результате чего получается один 5-мегабайтный XML-документ, я все еще наблюдаю время запроса в секунду.

Возможно, у вас возникли проблемы со сложным соединением или рекурсивным предложением where, которое приводит к снижению производительности.

0 голосов
/ 03 февраля 2009

Я видел огромные сумасшедшие проблемы с производительностью под Vista, которые не возникают под XP - но только когда я запускаю отладочную сборку под IDE.

0 голосов
/ 03 февраля 2009

Получите профилировщик, подобный встроенному в VS, или профилировщик из Red Gate (http://www.red -gate.com / ) и узнайте, что на самом деле происходит!

0 голосов
/ 03 февраля 2009

Здесь нет проблем, много linq в моей базе кода разработчиков. Запуск Vista Ultimate (32) на моем ноутбуке для разработки. Запуск Windows 2003 на моем тестовом сервере.

Никаких проблем, которые я заметил.

0 голосов
/ 03 февраля 2009

У меня не было таких проблем с VS 2008 и SQL DEV на моем настольном компьютере и ноутбуке. Мои технические характеристики машины аналогичны вашим.

...