Je travaille sur une application en temps réel (appelons App1) qui communique avec une autre application (App2). J'ai utilisé VS2008 et les deux applications sont en C++. Récemment, j'ai converti le projet App1 en VS2010 et juste après, il a commencé à planter (j'utilise VS2010 Premium Version 10.0.30319.1). Crash dump montre que juste avant un crash, App2 essaie d'envoyer une requête à App1 plusieurs fois sans recevoir de réponse. J'ai donc pensé que la conversion d'App1 en VS2010 peut avoir un impact sur la performance et App1 a besoin de beaucoup de temps pour générer la réponse. L'utilisation de VS2010 a-t-elle un effet sur les performances (par rapport à VS2008)?Performance des applications C++ dans VS2010 et VS2008
Répondre
Bien sûr, cela a "un peu" un effet sur les performances. Le compilateur est plus récent, et à bien des égards mieux.
Il est peu probable que le problème que vous rencontrez soit dû au mauvais fonctionnement du compilateur. Il est possible que vous ayez supposé que cela ne se vérifie plus sous les fonctionnalités C++ 0x introduites en 2010, mais je pense qu'il est beaucoup plus probable que vous ayez un bug dans la version VS2008. Vous devez comprendre pourquoi sa pendaison et voir ce que vous pouvez faire pour arrêter ce blocage. Il est très probable que les horaires ont été changés en utilisant 2010 et une hypothèse que vous avez faite (et vous ne devriez jamais supposer que les choses fonctionneront d'une manière spécifique ... soit savoir ou chercher) est revenue pour vous mordre dedans le cul
Probablement pas le genre de réponse que vous cherchiez bien ... mais je parierais certainement que ce soit un bug bonafide!
bons points, merci, je suppose que je vais rétrograder à VS2008 et compiler et voir si elle se bloque à nouveau ou non. Si ce n'est pas le cas, cela est probablement lié à une "hypothèse". – Ahmad
Personnellement, je cours 2008 et 2010 côte à côte (c'est à dire que les deux sont installés sur mon système de développement). Dès que j'en ai l'opportunité, tout mon code est en cours de mise à jour jusqu'en 2010 et je n'ai pas eu de problème jusqu'à présent (c'est pourquoi je pense que c'est un bug réel). – Goz
La chose à faire n'est pas deviner autour de ceci et cela.
La chose à faire est de trouver le bogue et de le réparer.
C'est compliqué avec les applications asynchrones qui se coordonnent avec le passage des messages. La façon dont je gère les tâches de ce type consiste à générer un journal horodaté détaillé du trafic de messages depuis/vers chaque application. Je prends ces journaux et les fusionne en une seule chronologie. Ensuite, j'étudie la chronologie et cherche des choses qui ne fonctionnent pas comme prévu.
Ceci est un travail. Cela peut prendre plusieurs heures et vous devrez probablement le répéter, mais vous trouverez le problème. Je suppose que vous êtes le genre de programmeur qui va s'attaquer à un travail difficile et voir à travers.
Exactement; En fait, je crois qu'il faut considérer toutes les possibilités et les essayer (c'est ce que je veux dire par deviner). J'ai déjà ce journal et je peux voir où est le retard et dans quel type de message. J'ai analysé toutes les nouvelles fonctions et je n'ai trouvé aucune relation entre ce message et les nouvelles fonctions; donc ma prochaine supposition est qu'elle est causée par une sorte de changement dans les timings de 2010. Alors je suis en train de tester et si c'est le problème, je vais le réparer. – Ahmad
@Ahmad: On dirait que vous savez quoi faire. Dans mon expérience "par deviner et par golly" est comme la lente route vers la Chine. S'il y a une technique de diagnostic qui me dit le problème, même si cela semble lent et fastidieux, c'est plus rapide et plus sûr que de deviner. Bonne chance. –
- 1. Performance et surveillance des applications .NET
- 2. convertir vs2008 en vs2010
- 3. Améliorer la performance des applications
- 4. Désinstaller VS2008 après VS2010 Upgrade?
- 5. Comment utiliser vs2008 Performance Assistant
- 6. Comment réparer VS2008 et VS2010 dev sur Win7 x64
- 7. Conversion de projet VS2008 en VS2010
- 8. Service WCF migration de VS2008 vers VS2010
- 9. Solutions VS2010 s'ouvrant toujours avec VS2008?
- 10. Graphiques de superposition (aka ornements dans VS2010) dans VS2008
- 11. Problèmes lors de la mise à niveau VS2008 vers VS2010 avec C++ managé et non managé
- 12. Installation de VS2008 après l'installation de VS2010
- 13. Applications MySQL et C
- 14. Applications Web haute performance (-services)
- 15. jQuery et VS2010
- 16. Développer des applications Silverlight 1.0 sur VS2008 SP1
- 17. Extraits pour C++ dans VS2008
- 18. Comment imprimer et contrôler réinitialiser l'imprimante par programme vs2008 C# windows Applications
- 19. Possible de travailler avec des fichiers de projet vs2008 dans vs2010
- 20. VS2010, MSDeploy et la déclaration des paramètres
- 21. C++ différences de compilateur (VS2008 et g ++)
- 22. Les délégués C++ Constructor sont-ils déjà disponibles dans VS2008?
- 23. Versions .Net4 \ vs2010 des extraits C#
- 24. Différences C# différant entre VS2008 et IIS6
- 25. Des solutions de projet mixtes dans VS2010- gérées et natives
- 26. C/C++ versus Java/C# dans les applications hautes performances
- 27. Débogage des applications C# WinForm
- 28. VS2010 différences de performance lors du débogage/profilage
- 29. LINQ to XML avec C# et VS2008
- 30. J'apprends C# en vs2008 alors que vs2010 est disponible. Est-ce que je manque quelque chose?
Qu'est-ce que "long time?" L'application se bloque lorsque le code est plus lent d'une microseconde? –
C'est le cas. Il supporte en particulier les références rvalue et définit les constructeurs de déplacement/opérateurs d'assignation de déplacement pour les classes de la bibliothèque standard. En fonction de votre utilisation de la STL, votre programme peut fonctionner plus rapidement. – avakar
Si quelque chose, je m'attends à passer à VC10 permettra d'accélérer votre application en raison de la logique d'optimisation en constante amélioration. Avez-vous d'abord cherché à voir si vous avez cassé quelque chose lorsque vous avez porté, ou avez-vous juste à droite à "Microsoft suce?" –