2009-02-02 6 views
0

J'ai une application qui charge des documents XML en mémoire puis exécute diverses requêtes à l'aide de Linq.Pourquoi Linq to Xml est-il si lent sur Vista?

L'application fonctionne correctement sur le serveur Live (Windows Server 2003) et sous Visual Studio 2008 sous XP. Mais sur mon ordinateur portable Vista (4 Go de RAM, CPU 2GHz) toutes les requêtes Linq exécuter vraiment vraiment lent. Ce qui devrait prendre quelques millisecondes prend quelques secondes. La chose amusante est que toutes les autres parties du code se déroulent en douceur et rapidement comme ils le devraient.

Est-ce que quelqu'un d'autre a eu des problèmes avec ce genre de chose?

Répondre

1

Non, je n'ai certainement pas. Jetez un coup d'œil à votre journal des événements système. Quelque chose d'étrange qui se passe là-bas? Regardez votre CPU. Est-ce que quelque chose mange votre CPU? Est-ce ce que vous pensez que c'est?

0

Je n'ai rencontré aucun problème de ce type avec VS 2008 et SQL DEV sur mon ordinateur de bureau et mon ordinateur portable. Les spécifications de ma machine sont similaires aux vôtres.

0

Pas de problèmes ici, beaucoup de linq dans ma base de code de développement. Exécution de Vista Ultimate (32) sur mon ordinateur portable pour le développement. Exécution de Windows 2003 sur mon serveur de test.

Aucun problème que j'ai remarqué.

0

Obtenez un profileur comme celui intégré dans VS, ou le profileur de Red Gate (http://www.red-gate.com/) et découvrez ce qui se passe réellement!

0

J'ai vu d'énormes problèmes de performances fous sous Vista qui ne se produisent pas sous XP - mais seulement lorsque je cours une version de débogage sous l'IDE.

0

Je n'ai pas vu le genre de problèmes de performance que vous signalez. Voir http://thinqlinq.com/Default/Querying-the-complete-plays-of-Shakespeare-using-LINQ-to-XML.aspx pour un échantillon qui interroge les œuvres complètes de Shakespeare en trouvant les caractères avec le plus grand nombre de lignes. Lorsque l'on couvre 40 fichiers XML d'une taille de cent K chacun, ce qui donne un seul document XML de 5 méga-octets, je vois encore des temps d'interrogation inférieurs à la seconde.

Vous rencontrez peut-être des problèmes avec une jointure complexe ou récursive où clause qui provoque la dégradation de vos performances.

+0

Pourquoi la performance serait-elle bonne sur toutes les autres machines? – cbp

0

Quelle est la vitesse du disque dur de votre ordinateur portable. Vous pouvez juste voir le coût du chargement d'un grand fichier xml à partir du disque.

+0

Je crois que les fichiers doivent être chargés en mémoire au moment où j'exécute des requêtes sur eux. La taille totale des fichiers XML est d'environ 150 Ko et j'ai 4 Go de mémoire donc ce n'est pas comme si je devais manquer! – cbp